[SCM] synfig-synfig/upstream: Imported Upstream version 1.0

onlyjob at users.alioth.debian.org onlyjob at users.alioth.debian.org
Thu Apr 30 03:21:35 UTC 2015


The following commit has been merged in the upstream branch:
commit 4f599412310adbd50f5fe8fed3e7dd8165f02dc2
Author: Dmitry Smirnov <onlyjob at member.fsf.org>
Date:   Thu Apr 30 11:54:09 2015 +1000

    Imported Upstream version 1.0

diff --git a/AUTHORS b/AUTHORS
index 6bd9dcd..375e2ac 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,6 +24,7 @@ Brendon Higgins
 Diego Barrios Romero(eldruin)
 Bertrand Greorie (berteh)
 Ivan Mahonin
+Denis Zdorovtsov
 
 Translators:
 
diff --git a/ChangeLog b/ChangeLog
index f2e33c7..bed8df5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,98 +1,3669 @@
+2015-04-06  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/color/Makefile_insert: Add missing file
+
+2015-03-16  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/synfig/color/pixelformat.h: #825: Improve code
+	style slightly
+
+2015-03-15  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/color/Makefile_insert,
+	synfig-core/src/synfig/color/cairocolor.cpp,
+	synfig-core/src/synfig/color/cairocolor.h,
+	synfig-core/src/synfig/color/cairocoloraccumulator.h,
+	synfig-core/src/synfig/color/cairocolorblendingfunctions.h,
+	synfig-core/src/synfig/color/color.cpp,
+	synfig-core/src/synfig/color/color.h,
+	synfig-core/src/synfig/color/color.hpp,
+	synfig-core/src/synfig/color/coloraccumulator.h,
+	synfig-core/src/synfig/color/colorblendingfunctions.h,
+	synfig-core/src/synfig/color/common.h,
+	synfig-core/src/synfig/color/pixelformat.h: Split color classes in
+	separate files
+
+2015-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
+	synfig-core/src/modules/lyr_std/bevel.h,
+	synfig-core/src/modules/lyr_std/booleancurve.h,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/modules/lyr_std/shade.h,
+	synfig-core/src/modules/lyr_std/sphere_distort.h,
+	synfig-core/src/modules/lyr_std/twirl.h,
+	synfig-core/src/modules/lyr_std/xorpattern.h,
+	synfig-core/src/modules/mod_example/filledrect.h,
+	synfig-core/src/modules/mod_example/metaballs.h,
+	synfig-core/src/modules/mod_example/simplecircle.h,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/halftone2.h,
+	synfig-core/src/modules/mod_filter/halftone3.h,
+	synfig-core/src/modules/mod_filter/lumakey.h,
+	synfig-core/src/modules/mod_filter/radialblur.h,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/checkerboard.h,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/rectangle.h,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h,
+	synfig-core/src/modules/mod_gradient/curvegradient.h,
+	synfig-core/src/modules/mod_gradient/lineargradient.h,
+	synfig-core/src/modules/mod_gradient/radialgradient.h,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h,
+	synfig-core/src/modules/mod_noise/distort.h,
+	synfig-core/src/modules/mod_noise/noise.h,
+	synfig-core/src/modules/mod_particle/plant.h,
+	synfig-core/src/modules/mod_svg/layer_svg.h,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h,
+	synfig-core/src/synfig/layer_group.cpp,
+	synfig-core/src/synfig/layer_group.h,
+	synfig-core/src/synfig/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layer_meshtransform.h,
+	synfig-core/src/synfig/layer_mime.cpp,
+	synfig-core/src/synfig/layer_mime.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h,
+	synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_skeleton.h,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h,
+	synfig-core/src/synfig/layer_sound.cpp,
+	synfig-core/src/synfig/layer_sound.h,
+	synfig-core/src/synfig/layer_switch.cpp,
+	synfig-core/src/synfig/layer_switch.h,
+	synfig-core/src/synfig/layers/Makefile_insert,
+	synfig-core/src/synfig/layers/layer_bitmap.cpp,
+	synfig-core/src/synfig/layers/layer_bitmap.h,
+	synfig-core/src/synfig/layers/layer_composite.cpp,
+	synfig-core/src/synfig/layers/layer_composite.h,
+	synfig-core/src/synfig/layers/layer_duplicate.cpp,
+	synfig-core/src/synfig/layers/layer_duplicate.h,
+	synfig-core/src/synfig/layers/layer_group.cpp,
+	synfig-core/src/synfig/layers/layer_group.h,
+	synfig-core/src/synfig/layers/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layers/layer_meshtransform.h,
+	synfig-core/src/synfig/layers/layer_mime.cpp,
+	synfig-core/src/synfig/layers/layer_mime.h,
+	synfig-core/src/synfig/layers/layer_motionblur.cpp,
+	synfig-core/src/synfig/layers/layer_motionblur.h,
+	synfig-core/src/synfig/layers/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layers/layer_pastecanvas.h,
+	synfig-core/src/synfig/layers/layer_polygon.cpp,
+	synfig-core/src/synfig/layers/layer_polygon.h,
+	synfig-core/src/synfig/layers/layer_shape.cpp,
+	synfig-core/src/synfig/layers/layer_shape.h,
+	synfig-core/src/synfig/layers/layer_skeleton.cpp,
+	synfig-core/src/synfig/layers/layer_skeleton.h,
+	synfig-core/src/synfig/layers/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layers/layer_skeletondeformation.h,
+	synfig-core/src/synfig/layers/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layers/layer_solidcolor.h,
+	synfig-core/src/synfig/layers/layer_sound.cpp,
+	synfig-core/src/synfig/layers/layer_sound.h,
+	synfig-core/src/synfig/layers/layer_switch.cpp,
+	synfig-core/src/synfig/layers/layer_switch.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/timepointcollect.cpp: Move layers into
+	synfig/layers folder
+
+2015-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/configure.ac,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_duplicate.h,
+	synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/synfig.h,
+	synfig-core/src/synfig/timepointcollect.cpp,
+	synfig-core/src/synfig/value.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_average.cpp,
+	synfig-core/src/synfig/valuenode_average.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_boneinfluence.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h,
+	synfig-core/src/synfig/valuenode_boneweightpair.cpp,
+	synfig-core/src/synfig/valuenode_boneweightpair.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_derivative.cpp,
+	synfig-core/src/synfig/valuenode_derivative.h,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_real.cpp,
+	synfig-core/src/synfig/valuenode_real.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/src/synfig/valuenode_staticlist.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h,
+	synfig-core/src/synfig/valuenode_weightedaverage.cpp,
+	synfig-core/src/synfig/valuenode_weightedaverage.h,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/valuenodes/Makefile_insert,
+	synfig-core/src/synfig/valuenodes/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_add.h,
+	synfig-core/src/synfig/valuenodes/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_and.h,
+	synfig-core/src/synfig/valuenodes/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenodes/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_animated.h,
+	synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenodes/valuenode_average.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_average.h,
+	synfig-core/src/synfig/valuenodes/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_bline.h,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp
+	,
+	synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenodes/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_bone.h,
+	synfig-core/src/synfig/valuenodes/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_boneinfluence.h,
+	synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_bonelink.h,
+	synfig-core/src/synfig/valuenodes/valuenode_boneweightpair.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_boneweightpair.h,
+	synfig-core/src/synfig/valuenodes/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_compare.h,
+	synfig-core/src/synfig/valuenodes/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_composite.h,
+	synfig-core/src/synfig/valuenodes/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_const.h,
+	synfig-core/src/synfig/valuenodes/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_cos.h,
+	synfig-core/src/synfig/valuenodes/valuenode_derivative.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_derivative.h,
+	synfig-core/src/synfig/valuenodes/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_dilist.h,
+	synfig-core/src/synfig/valuenodes/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenodes/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_dynamic.h,
+	synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenodes/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_exp.h,
+	synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenodes/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenodes/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_integer.h,
+	synfig-core/src/synfig/valuenodes/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenodes/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_join.h,
+	synfig-core/src/synfig/valuenodes/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_linear.h,
+	synfig-core/src/synfig/valuenodes/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_log.h,
+	synfig-core/src/synfig/valuenodes/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_not.h,
+	synfig-core/src/synfig/valuenodes/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_or.h,
+	synfig-core/src/synfig/valuenodes/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_pow.h,
+	synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenodes/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_range.h,
+	synfig-core/src/synfig/valuenodes/valuenode_real.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_real.h,
+	synfig-core/src/synfig/valuenodes/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenodes/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenodes/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_reference.h,
+	synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenodes/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_scale.h,
+	synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenodes/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_sine.h,
+	synfig-core/src/synfig/valuenodes/valuenode_staticlist.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_staticlist.h,
+	synfig-core/src/synfig/valuenodes/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_step.h,
+	synfig-core/src/synfig/valuenodes/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenodes/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenodes/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_switch.h,
+	synfig-core/src/synfig/valuenodes/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenodes/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenodes/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenodes/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenodes/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_vectory.h,
+	synfig-core/src/synfig/valuenodes/valuenode_weightedaverage.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_weightedaverage.h,
+	synfig-core/src/synfig/valuenodes/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenodes/valuenode_wplist.h,
+	synfig-core/src/synfig/waypoint.cpp: Move valuenodes into
+	synfig/valuenodes folder
+
+2015-04-01  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/listimporter.cpp: Fix 568 : CRLF in lst file add FileSystem::safeGetline and use it in both listimporter and
+	cairolistimporter
+
+2015-03-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/soundprocessor.h: Fix slashes in filenames Conflicts: 	synfig-core/src/synfig/filesystemnative.cpp
+
+2015-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS, synfig-core/configure.ac: Version 1.0 - RC3
+
+2015-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/filesystemnative.cpp: Win32: Fix saving to
+	the path with non-latin characters
+
+2015-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/ar.po,
+	synfig-core/po/bs.po, synfig-core/po/ca.po, synfig-core/po/cs.po,
+	synfig-core/po/da.po, synfig-core/po/de.po,
+	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/eu.po,
+	synfig-core/po/eu_ES.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/gl.po, synfig-core/po/he.po,
+	synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sr_RS.po,
+	synfig-core/po/sv_SE.po, synfig-core/po/tr.po,
+	synfig-core/po/uz at Latn.po, synfig-core/po/zh-Hant.po,
+	synfig-core/po/zh_CN.po, synfig-core/po/zh_TW.po: Update
+	translations
+
+2015-03-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Fix typo
+
+2015-03-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/insideout.cpp: Typo
+
+2015-03-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: Fix animated Z-Depth. Thanks to
+	Ivan Mahonin.
+
+2015-03-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/distance.cpp: Parse dot delimiter when
+	shortening numbers
+
+2015-03-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS, synfig-core/configure.ac: Version 1.0 - RC2
+
+2015-03-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/distance.cpp: Shorten numbers when editing
+	vector parameter
+
+2015-03-16  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Force check for "yes" values when
+	checking presence of boost components
+
+2015-03-16  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/tool/main.cpp: Fix typo
+
+2015-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h,
+	synfig-core/src/tool/printing_functions.cpp,
+	synfig-core/src/tool/printing_functions.h,
+	synfig-core/src/tool/renderprogress.cpp,
+	synfig-core/src/tool/renderprogress.h: Update copyright notices
+
+2015-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Render progress: print
+	percentage completed
+
+2015-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp,
+	synfig-core/src/tool/renderprogress.h: Render progress: replaced
+	scanline with frames From the current behavior, it seems that the
+	progress reports on frames, not lines
+
+2015-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Fix target file path
+	permissions check
+
+2015-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Replace calls to
+	strprintf introduced after rebase
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/optionsprocessor.cpp: Remove unnecessary
+	include
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/main.cpp, synfig-core/src/tool/progress.h: 
+	Remove namespace using statement
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Render progress: remove
+	unnecessay include
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp,
+	synfig-core/src/tool/renderprogress.h: Render progress: Fix clearing
+	the rest of the line on updates
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Small syntax fix
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp,
+	synfig-core/src/tool/renderprogress.h: Render progress: print
+	remaining time to string stream + This enables cleaning the line correctly
+
+2014-12-26  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Render progress: simplify
+	readable remaining time transformation
+
+2014-12-25  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Fix typo
+
+2014-12-25  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.cpp: Render progress: Fix line
+	clear timming
+
+2014-12-25  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/renderprogress.cpp,
+	synfig-core/src/tool/renderprogress.h: Render progress: separate
+	function implementation into cpp
+
+2014-12-25  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.h: Major refactor of render
+	progress + Replaced etl::clock with boost::chrono + some functions extracted
+	+ TODO: not clear if this is supposed to work through per rendering
+	lines instead of per line
+
+2014-12-23  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/tool/optionsprocessor.h: Fix
+	OptionsProcessor::process_debug_options() defintion
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Fix extension
+	replacement assignment + Fix typo
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Fix checking
+	permissions of output directory
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/configure.ac, synfig-core/m4/ax_boost_chrono.m4,
+	synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/joblistprocessor.cpp: Replace rendering time
+	measurement with boost::chrono + Added boost::chrono libraryto build scripts
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/renderprogress.h: Include necessary header
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Replace etl::strprintf()
+	with boost::format()
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/optionsprocessor.cpp: Replace
+	etl::filename_extension() calls
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Simplify file extension
+	replacement
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Replace
+	etl::filename_extension() call
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Replace etl::dirname()
+	call
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Replace output file
+	extension composition
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Replace string
+	lowercase transformation
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Removed namespace using
+	statements
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/main.cpp: Replaced extract alpha filename
+	composition with boost::filesystem
+
+2014-12-08  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/definitions.cpp,
+	synfig-core/src/tool/definitions.h,
+	synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/joblistprocessor.h,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h,
+	synfig-core/src/tool/printing_functions.cpp,
+	synfig-core/src/tool/printing_functions.h,
+	synfig-core/src/tool/renderprogress.h: Global parameters refactoring + Global variables replaced with singleton class + Remove some using
+	namespace clauses + Add some necessary includes + Remove superfluous
+	function throw declarations
+
+2014-12-07  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/configure.ac, synfig-core/m4/ax_boost_filesystem.m4,
+	synfig-core/m4/ax_boost_system.m4,
+	synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp: 
+	Replace etl::dirname calls in main
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Print jobs thrown out
+	to standard error output
+
+2015-03-13  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h: Fix "straigh onto" blending
+	for layer shape
+
+2015-03-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/ar.po, synfig-core/po/ca.po, synfig-core/po/cs.po,
+	synfig-core/po/da.po, synfig-core/po/de.po,
+	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/eu.po,
+	synfig-core/po/eu_ES.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/he.po, synfig-core/po/hu.po,
+	synfig-core/po/it.po, synfig-core/po/ja_JP.po,
+	synfig-core/po/lt.po, synfig-core/po/nl.po,
+	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
+	synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/uz at Latn.po,
+	synfig-core/po/zh_CN.po, synfig-core/po/zh_TW.po: Update
+	translations
+
+2015-02-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/soundprocessor.cpp: Fix sound in preview
+
+2015-02-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_group.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_switch.cpp: Fix bug with zrange
+
+2015-02-05  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS, synfig-core/README, synfig-core/configure.ac,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/version.h: Version 1.0 - RC1
+
+2015-02-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ppm/Makefile.am: Fix distcheck errors
+
+2015-02-03  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/ar.po,
+	synfig-core/po/ca.po, synfig-core/po/cs.po, synfig-core/po/da.po,
+	synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/eu.po, synfig-core/po/eu_ES.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/he.po, synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/uz at Latn.po,
+	synfig-core/po/zh_CN.po, synfig-core/po/zh_TW.po: Update
+	translations
+
+2015-02-03  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS: Import NEWS files form 0.64.x branch
+
+2015-01-31  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Convert metadata values
+	saved with "," instead of "."
+
+2015-01-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/soundprocessor.cpp: Fix sound in preview
+
+2015-01-30  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Remove "Enable
+	Transformation" parameter from Group Layer
+
+2015-01-28  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/targetparam.h: Fix regression of b56eea2aa:
+	Initialize default value for sequence_separator
+
+2015-01-24  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp: Fix
+	#769 - Software Render : Can't embed svg If embed file (#images/) copy it to a temp file before feed
+	imagemagick convert, then remove it !
+
+2015-01-24  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp: Jpeg Importer :
+	normalize error messages
+
+2015-01-24  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp: Fix #767  -
+	Software Render : Can't embed jpg Convert files operation from C to Cpp (fopen to
+	synfig::FileSystem::ReadStreamHandle), so operations on embeded
+	files (#file.ext ; #images/file.ext) are supported
+
+2015-01-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/timeloop.cpp: For TimeLoop layer
+	it's better to have all its parameters as static
+
+2015-01-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/main.cpp,
+	synfig-core/src/synfig/module.cpp: Change paths for user-specific
+	modules
+
+2015-01-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/AUTHORS: Add Denis Zdorovtsov to the credits
+
+2015-01-17  Denis Zdorovtsov <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.h,
+	synfig-core/src/synfig/targetparam.h: Interface improved. Fixed few
+	bugs.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.h: Added two
+	new spritesheet params (widgets and fields): 'Rows' and 'Columns'.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/synfig/targetparam.h: Removed unused default
+	constructor from TargetParam. Added 'rows' and 'columns' fields for
+	spritesheet target.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp: Fixed
+	compilation error.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/synfig/targetparam.h: Added two new fields for the
+	spritesheet target.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/synfig/target.h: Fixed compilation warning.
+
+2015-01-14  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.h: Fixed
+	compilation warnings. Using tparams to get offset_x and offset_y
+	parameters.
+
+2015-01-12  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.h: Improved
+	spritesheet module.
+
+2015-01-09  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Fixed gradient
+	parsing in SVG module.
+
+2015-01-11  trizer <mrtrizer at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Fixed locale bug in
+	SVG module.
+
+2015-01-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Fix OSX compilation
+	errors
+
+2014-12-23  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp: Bones : Z-Order To
+	Z-Depth (as discuted in github / commit 4d1c4a40e) * Change z-order vocable to z-depth for consistency.  * Update code to replace order with depth * Param descriptor use "bone_depth" internaly IMPORTANT : This break test project previously created with bones
+	z-order IMPORTANT#2 : The bone#4 video example should be updated /
+	commented
+
+2014-12-20  Diego Barrios Romero <eldruin at eldruin.com>
+
+	* synfig-core/src/tool/joblistprocessor.cpp: Print jobs thrown out
+	to standard error output
+
+2014-12-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Fix loading old group
+	origin
+
+2014-12-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bline.cpp: Fix bug with loading
+	old bline
+
+2014-12-15  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix #729:
+	FFmpeg target not works on Ubuntu 14.10 http://www.synfig.org/issues/thebuggenie/synfig/issues/729
+
+2014-12-14  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.h: Fix 730 - Render :
+	Extract Alpha in cairoPng render twice same file.
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layer_meshtransform.h,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp: Fix bugs
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layer_meshtransform.h,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: Apply mask
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: Generate mask
+	polygon for skeleton deformation
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/renderersoftware.cpp,
+	synfig-core/src/synfig/renderersoftware.h: Allow to paint
+	non-textured meshes (polygons) via new renderer
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/polygon.h: Add polygon struct
+
+2014-11-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/vector.h: Fix bug with skeleton deformation
+
+2014-11-18  Dmitry Smirnov <onlyjob at member.fsf.org>
+
+	* synfig-core/src/synfig/main.cpp: build: define PATH_MAX if
+	necessary to fix FTBFS on GHU Hurd: ~~~~ main.cpp: In function 'synfig::String
+	synfig::get_binary_path(const String&)': main.cpp:458:20: error:
+	  'PATH_MAX' was not declared in this scope size_t buf_size = PATH_MAX
+	                    - 1; ^ ~~~~
+
+2014-11-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Invert
+	z-ordering
+
+2014-11-13  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Use bone
+	z-order in skeleton deformation layer
+
+2014-11-13  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp: Z-Order field for
+	Bone
+
+2014-11-13  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp: Improve
+	skeleton deformation
+
+2014-10-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix group
+	transparency
+
+2014-10-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/guid.cpp, synfig-core/src/synfig/guid.h: 
+	hasher from GUID
+
+2014-10-15  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.cpp: Fix strings in some
+	valudenode vocab (local_name and/or description)
+
+2014-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h: Fix detection of
+	ffmpeg/avconv binary
+
+2014-09-22  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Canvas properties dialog - Image
+	Size / Display reduced image ratio - synfig-core : renddesc Add get_pixel_ratio_reduced member based on
+	euclide - synfig-studio : renddesc Use of get_pixel_ratio_reduced to display
+	the ratio
+
+2014-09-22  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Canvas properties dialog - Image
+	Size / Resolution Ratio - synfig-core - renddesc Add LINK_RES flag for resolution ratio Add
+	x_res_ratio_ and y_res_ratio_ members to record current res ratio
+	Add set_res_ratio( ) x and y ratio resolution setter Update
+	set_x_res and set_y_res for LINK_RES flag and cyrrent res ratio - synfig-studio - renddesc Add Widget_Link toggle_res_ratio member
+	and toggled signal
+
+2014-09-19  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Canvas properties dialog - Image
+	Area / Keep Ratio - Progress1 - New member var : RendDesc::w_ratio_ and h_ratio_ Used to save the
+	current pixel ratio - New member function : RendDesc::set_pixel_ratio(int, int) Used to
+	save the current pixel ratio - RendDesc::set_x and RendDesc::set_h Test LINK_IM_ASPECT flag to
+	keep the pixel image ratio based on h_ratio_ and w_ratio_ take care
+	of PX_ASPECT flag
+
+2014-09-02  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/src/synfig/keyframe.cpp: 457 - Disabled keyframes
+	doesn't work well with drag and drop operations. Progress In synfig-core, KeyframeList::insert_time, include deactivated kf
+	while searching next.  Solve the reported bug.  But another one appear : previous deactivated kf now move during d&d
+	operation !
+
+2014-07-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: Add parameters
+	to set position and resolution of transformation grid
+
+2014-07-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/target_tile.cpp,
+	synfig-core/src/synfig/target_tile.h: Improve tile rendering (group
+	tiles into large rectangles)
+
+2014-10-25  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_dv/trgt_dv.h,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.h,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.h,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
+	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
+	synfig-core/src/modules/mod_mng/trgt_mng.h,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.h: Fix crash for
+	Magick++, Gif and other targets utilizing init() function
+
+2014-06-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/soundprocessor.cpp: Fix audio playback on
+	Windows platform
+
+2014-05-29  Carlos López <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Fix typo again
+
+2014-05-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Typo
+
+2014-05-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/configure.ac, synfig-core/src/synfig/main.cpp,
+	synfig-core/src/synfig/soundprocessor.cpp,
+	synfig-core/src/synfig/soundprocessor.h: MLT Support
+
+2014-05-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_sound.cpp: Use filename-widget for
+	Layer_Sound
+
+2014-05-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/canvas.h: Sound funcs for canvas
+
+2014-05-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Build sound pipeline for
+	Layer_PasteCanvas
+
+2014-05-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/layer_sound.cpp,
+	synfig-core/src/synfig/layer_sound.h: Layer_Sound
+
+2014-05-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Virtual function in Layer to build sound pipeline
+
+2014-05-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/soundprocessor.cpp,
+	synfig-core/src/synfig/soundprocessor.h: Sound processor interface
+
 2014-09-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix FFmpeg
-	options - now compatible with avconv
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix FFmpeg
+	options - now compatible with avconv
+
+2014-09-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Typo
+
+2014-09-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
+	synfig-core/src/synfig/target.h: Fix #138: Allow to use 'avconv'
+	binary instead of 'ffmpeg'
+
+2014-08-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp: PNG target
+	now properly responding to "Extract alpha" option
+
+2014-08-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/tool/job.h,
+	synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Allow to render alpha
+	information into separate file (CLI).  The new option "--extract-alpha" (or "-x") allows to extract alpha
+	information into separate file ("-alpha" suffix added into output
+	filename).
+
+2014-08-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
+	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_tile.cpp: Allow target to handle alpha
+	in 4 different ways
+
+2014-08-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/tool/main.cpp: Add Lossless H.264 encoding profile.
+	The resulting file is compatible with Sony Vegas and other software
+	based on QuickTime AVC decoders.
+
+2014-06-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/POTFILES.in: Remove mention of deleted files
+
+2014-06-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
+	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.cpp,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/activepoint.h,
+	synfig-core/src/synfig/blur.h, synfig-core/src/synfig/bone.cpp,
+	synfig-core/src/synfig/boneweightpair.h,
+	synfig-core/src/synfig/curve_helper.cpp,
+	synfig-core/src/synfig/curveset.cpp,
+	synfig-core/src/synfig/curveset.h,
+	synfig-core/src/synfig/distance.h,
+	synfig-core/src/synfig/general.h,
+	synfig-core/src/synfig/gradient.h, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/render.cpp,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/target_multi.cpp,
+	synfig-core/src/synfig/time.h,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/tool/job.h: Fix warnings unitialized fields,
+	functions without return
+
+2014-06-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.h: Remove broken target MPG
+	from mod_ppm
+
+2014-06-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/surfacenew.cpp,
+	synfig-core/src/synfig/surfacenew.h: Remove unfinished code for
+	surfacenew.h/.cpp
+
+2014-06-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/color.h: 
+	Default initialization for ColorAccumulators instead memset
+
+2014-05-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Fix #572: Unable save to file
+	(Windows)
+
+2014-05-05  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Move
+	Skeleton Deformation into Distortions group
+
+2014-05-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Use old
+	interpolation method
+
+2014-05-05  blackwarthog <bh at icystar.com>
+
+	* synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h: 
+	Fix windows bug again
+
+2014-05-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_meshtransform.cpp: Fix #637 Skeleton
+	Distortion works wrong when Rotation/Scale applied
+
+2014-05-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h: 
+	Fix windows bug2
+
+2014-04-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Improve
+	interpolation finction
+
+2014-04-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Fix save/load
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: typo
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_staticlist.cpp: Allow to create
+	child bone
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_const.cpp: Automatically convert
+	pairs of bones to Composite
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Reduce
+	detalization
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/renderersoftware.cpp: Additional check of
+	triangles bounds
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Fix
+	compilation error in Layer_SkeletonDeformation
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp: Fix
+	Layer_SkeletonDeformation
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/pair.h: Add TypePair (part 2)
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/base_types.h: Remove SkeletonDeformationEntry
+	class (part 2)
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am: Move weightedvalue.h into
+	VALUEHEADERS block in Makefile.am
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/skeletondeformationentry.cpp,
+	synfig-core/src/synfig/skeletondeformationentry.h,
+	synfig-core/src/synfig/type.h: Remove SkeletonDeformationEntry class
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: Change entry
+	type for Layer_SkeletonDeformation to std::pair<Bone,Bone>
+
+2014-04-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/pair.h, synfig-core/src/synfig/type.h,
+	synfig-core/src/synfig/valuenode_composite.cpp: TypePairValue
+
+2014-04-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: Fine deformation
+
+2014-04-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_meshtransform.cpp,
+	synfig-core/src/synfig/layer_meshtransfrom.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h,
+	synfig-core/src/synfig/mesh.h, synfig-core/src/synfig/renddesc.h,
+	synfig-core/src/synfig/renderer.cpp,
+	synfig-core/src/synfig/renderer.h,
+	synfig-core/src/synfig/renderersoftware.cpp,
+	synfig-core/src/synfig/renderersoftware.h,
+	synfig-core/src/synfig/skeletondeformationentry.cpp,
+	synfig-core/src/synfig/skeletondeformationentry.h: Simple mesh
+	transfrom
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h: In ValueNode_Bone use
+	influency checking from Bone
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am: update makefile
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeletondeformation.cpp,
+	synfig-core/src/synfig/layer_skeletondeformation.h: 
+	Layer_SkeletonDeformation (beginning)
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/mesh.h: Additional constructors for
+	Mesh::Vertex and Mesh::Triangle
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h: 
+	Cacculation of distance to bone and influence of bone
+
+2014-04-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/skeletondeformationentry.h: Change
+	SkeletonDeformationEntry
+
+2014-04-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/base_types.h, synfig-core/src/synfig/type.h: 
+	Value type "skeleton_deformation_entry"
+
+2014-04-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/skeletondeformationentry.h: class
+	SkeletonDeformationEntry
+
+2014-04-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_group.h: Typo
+
+2014-04-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_meshtransform.h,
+	synfig-core/src/synfig/layer_meshtransfrom.cpp,
+	synfig-core/src/synfig/mesh.cpp: Layer_MeshTransform - fogotten
+	files
+
+2014-04-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/mesh.h, synfig-core/src/synfig/renddesc.h,
+	synfig-core/src/synfig/renderer.cpp,
+	synfig-core/src/synfig/renderer_software.cpp,
+	synfig-core/src/synfig/renderer_software.h,
+	synfig-core/src/synfig/renderersoftware.cpp,
+	synfig-core/src/synfig/renderersoftware.h: Layer_MeshTransform
+
+2014-04-19  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/mesh.h,
+	synfig-core/src/synfig/renderer_software.cpp,
+	synfig-core/src/synfig/renderer_software.h: Render textured mesh
+
+2014-04-19  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/renderer.h,
+	synfig-core/src/synfig/renderer_software.cpp,
+	synfig-core/src/synfig/renderer_software.h: Render textured triangle
+
+2014-04-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/renderer.cpp,
+	synfig-core/src/synfig/renderer.h,
+	synfig-core/src/synfig/renderer_software.cpp,
+	synfig-core/src/synfig/renderer_software.h: Base classes to support
+	multiple rendering engines
+
+2014-04-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_weightedaverage.cpp: Fix loading of
+	WeightedAverage list
+
+2014-04-05  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/context.cpp: Fix bug with smooth move tool
+
+2014-04-06  Yu Chen <jcome at localhost.localdomain>
+
+	* synfig-core/po/POTFILES.in,
+	synfig-core/src/tool/joblistprocessor.cpp: Typo
+
+2014-04-03  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/po/POTFILES.in: add missing files in synfig-core
+	potfiles.in mptr_cairo_png, trgt_cairo_png, trgt_png_spritessheet, all from
+	mod_svg, bases_types, bone boneweightpair, cairo_operators,
+	cairo_renddesc, filecontainer(°), filesystem(*), layer_skeleton,
+	layer_switch, matrix, valuenode_anglestring, valuenode_atan2,
+	valuenode_average, valuenode_blinereversetangent, bone(*),
+	valuenode_derivate, valuenode_dilist, valuenode_dotproduct,
+	valuenode_dynamic, valuenode_gradientcolor, valuenode_greyed,
+	valuenode_intstring, valuenode_log, valuenode_staticlist,
+	valuenode_weightedaverage, valueoperations, zstreambuf,
+	weightedvalue
+
+2014-04-03  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/po/POTFILES.in: alpha reoder in synfig-core
+	potfiles.in
+
+2014-04-01  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valueoperations.cpp,
+	synfig-core/src/synfig/valueoperations.h: Fix issue #614: 'Weighted
+	Average' doesn't accept type 'weighted spline_point'
+
+2014-03-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valueoperations.cpp,
+	synfig-core/src/synfig/valueoperations.h: Support reverse
+	manipulation for ValueAverage helper
+
+2014-03-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Fix
+	ValueNode_Composite - support any weighted type
+
+2014-03-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_scale.cpp: Fix warning: logical
+	not is only applied to the left hand side of this comparison
+
+2014-03-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/booleancurve.h,
+	synfig-core/src/modules/lyr_std/supersample.h,
+	synfig-core/src/modules/lyr_std/warp.h,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
+	synfig-core/src/modules/mod_noise/distort.h,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/modules/mod_particle/plant.h,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.h,
+	synfig-core/src/modules/mod_png/trgt_png.h: Silent remaining
+	warnings triggered by Clang compiler for synfig-core
+
+2014-03-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.h,
+	synfig-core/src/synfig/polynomial_root.h,
+	synfig-core/src/synfig/target_cairo.h,
+	synfig-core/src/synfig/uniqueid.cpp,
+	synfig-core/src/synfig/valuenode_bone.cpp: Fix more warnings issued
+	by Clang compiler
+
+2014-03-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/main.cpp: Disable verbose terminate
+	function in OSX. Since 10.9 __gnu_cxx is a unknown namespace
+
+2014-03-04  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/type.h: Fix more warnings: private field
+	not used and unused parameter
+
+2014-03-04  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/general.h: Fix warnings: private field not
+	used and unused parameter
+
+2014-03-04  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Fix more warnings: in-class initializer for static data member of
+	type 'const float' is a GNU extension
+
+2014-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Fix warnings: in-class initializer for static data member of type
+	'const float' is a GNU extension
+
+2014-03-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/type.h, synfig-core/src/synfig/value.cpp,
+	synfig-core/src/synfig/value.h: Typo
+
+2014-03-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/module.cpp,
+	synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Fix initialization order of Type (better fix of windows problem)
+
+2014-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp: Fix
+	LinearGradient
+
+2014-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	More Windows build fixes by Ivan Mahonin
+
+2014-03-24  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/type.h: Fix
+	bugs with Type and ValueBase (win build now works)
+
+2014-03-18  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/type.h: One more fix from Ivan Mahonin
+
+2014-03-15  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/type.h: Fixes for type.h (by Ivan Mahonin)
+
+2014-03-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h: Optimize
+	linear gradient
+
+2014-03-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_solidcolor.cpp: Optimize
+	Layer_SolidColor
+
+2014-03-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: More details in
+	rendering overhead warning and turn off it in release
+
+2014-03-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/rotate.cpp: Fix rotation
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_shape.cpp: Revert level-of-detail
+	optimization for Layer_Shape (bugs detected)
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer.cpp: Fix warning about resampling
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/zoom.cpp: Optimize stretch and zoom
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/stretch.cpp: Optimize scale
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Optimize
+	Layer_PasteCanvas for last group in list
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_shape.cpp: Optimize level-of-detail
+	of Layer_Shape (minimal effect)
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/matrix.cpp, synfig-core/src/synfig/matrix.h: 
+	Optimize Layer_Shape (outlines and regions)
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer.cpp: Warning about resampling
+	(transform already rendered raster)
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/translate.cpp: Optimize
+	translation
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/rotate.cpp: Optimize rotation
+
+2014-03-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/transformation.h: Fix bug with group
+	rendering
+
+2014-03-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/matrix.cpp,
+	synfig-core/src/synfig/transformation.h: Implement render
+	transformation for Layer_PasteCanvas
+
+2014-03-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/matrix.cpp, synfig-core/src/synfig/matrix.h: 
+	Add raster transfromation code into layers what not ready yet
+
+2014-03-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/renddesc.h: Add transformation matrix into
+	renddesc
+
+2014-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Display error if no
+	external sif file found
+
+2014-03-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_staticlist.cpp: Inherrit width of
+	previous bone when inserting new one
+
+2014-03-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am: Add forgotten file to
+	Makefile.am
+
+2014-03-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bone.cpp: Fix bug with "Link to
+	Skeleton" action
+
+2014-03-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer_skeleton.cpp: Add amount parameter
+	for skeleton layer
+
+2014-03-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/bone.cpp: Use smaller width for bones by
+	default
+
+2014-03-05  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Add possibility to load
+	previous format of BoneLink
+
+2014-03-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_weightedaverage.cpp: Fix 'link to
+	skeleton' action
+
+2014-03-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_skeleton.h: Visualize bone width
+
+2014-03-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valueoperations.h: Implementation of Link to
+	skeleton (Bugs!)
+
+2014-03-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h: Draft of
+	ValueNode_Bone::have_influence_on()
+
+2014-03-01  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: Revert "Add list of
+	bones into ValueNode_BoneLink" This reverts commit e3dfa7c35c8f4506c85677a1f28dd050e982a7de.  Conflicts: 	synfig-core/src/synfig/valuenode_bonelink.cpp 	synfig-core/src/synfig/valuenode_bonelink.h
+
+2014-03-01  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_bonelink.cpp: Revert "Fix
+	ValueNode_BoneLink" This reverts commit 0861550372405fa8923ae117defd2c51be953f94.  Conflicts: 	synfig-core/src/synfig/valuenode_bonelink.cpp
+
+2014-02-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Enable loading for bone
+	files of previous format
+
+2014-02-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h: Introduce "BoneWidth" and
+	"Bone Tip Width" parrameters. Add handles for them.
+
+2014-02-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp: Fix bug with "add new
+	frame" action
+
+2014-01-31  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer_switch.cpp: Always have Children Lock
+	enabled for GroupSwitch
+
+2014-01-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_switch.cpp,
+	synfig-core/src/synfig/layer_switch.h: 
+	Layer_Switch::get_current_layer() method
+
+2014-01-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_svg/layer_svg.cpp,
+	synfig-core/src/modules/mod_svg/layer_svg.h,
+	synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp: Update references to
+	Layer_PasteCanvas
+
+2014-01-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_group.cpp,
+	synfig-core/src/synfig/layer_group.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/layer_switch.cpp,
+	synfig-core/src/synfig/layer_switch.h: Derive two new classes from
+	Layer_PasteCanvas - Group and Switch
+
+2014-01-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Auto-expand surface
+	("infinite surface")
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/value.cpp: Add conversion Time <-> Real for
+	ValueBase
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode.cpp: Typo
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_weightedaverage.cpp,
+	synfig-core/src/synfig/valuenode_weightedaverage.h,
+	synfig-core/src/synfig/valueoperations.cpp,
+	synfig-core/src/synfig/weightedvalue.h: Weighted Average files
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp: Fix bug with opening
+	synfig_icon.sif
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/type.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valueoperations.h: Weighted Average Converter
+
+2014-02-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_average.cpp,
+	synfig-core/src/synfig/valuenode_average.h,
+	synfig-core/src/synfig/valuenode_derivative.cpp,
+	synfig-core/src/synfig/valuenode_derivative.h,
+	synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valueoperations.h: Fix bugs raised after
+	rebase
+
+2014-02-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp: Fix after rebase
+
+2014-02-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/booleancurve.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_mime.cpp,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/main.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/timepointcollect.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_boneinfluence.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h,
+	synfig-core/src/synfig/valuenode_boneweightpair.cpp,
+	synfig-core/src/synfig/valuenode_boneweightpair.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_real.cpp,
+	synfig-core/src/synfig/valuenode_real.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/src/synfig/valuenode_staticlist.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/valuetransformation.h,
+	synfig-core/src/synfig/waypoint.cpp: Update synfig-core
+
+2014-02-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Rewrite ValueBase to work with Type class
+
+2014-02-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/base_types.h,
+	synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h: 
+	Improve Type
+
+2014-02-15  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp: Typo
+
+2014-02-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/base_types.h,
+	synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h: 
+	Implement all types for ValueBase
+
+2014-02-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/base_types.cpp,
+	synfig-core/src/synfig/base_types.h,
+	synfig-core/src/synfig/type.cpp, synfig-core/src/synfig/type.h: 
+	Class 'Type' - type descriptor for ValueBase
+
+2014-02-13  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_boneinfluence.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h,
+	synfig-core/src/synfig/valuenode_boneweightpair.cpp,
+	synfig-core/src/synfig/valuenode_boneweightpair.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_real.cpp,
+	synfig-core/src/synfig/valuenode_real.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/src/synfig/valuenode_staticlist.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/valuetransformation.h: Rename ValueBase::Type
+	to ValueBase::TypeId
+
+2014-02-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp: Fix
+	missing include (was preventing compilation on Fedora 20)
+
+2014-02-21  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/configure.ac: Fix SYNFIG_LIBS from last commit Remove boost library lib path from SYNFIG_LIBS.
+
+2014-02-21  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+
+	* synfig-core/configure.ac: Add boost librairy lib & include path to
+	synfig lib & include path.
+
+2014-02-18  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Require boost >= 1.53.0 at configure
+	time
+
+2014-02-18  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Correct mistake from
+	previous commit
+
+2014-02-18  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: New bool subtaparmeter
+	'Origin drags tip'
+
+2014-02-18  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: If spring (linear or
+	torsion) is rigid do not integrate, return the equilibrium position.
+	Remove unused variable.
+
+2014-02-17  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Add two new
+	subparameters to disable linear or torsion springs.
+
+2014-02-18  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Consider inertia of
+	the puntual mass.
+
+2014-02-14  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Add torque as
+	subparameter
+
+2014-02-12  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp: Remove information
+	messages
+
+2014-02-12  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Do not use spring
+	constant to disable movement. Use mass and inertia.  Avoid zero
+	division when mass or inertia are small enough.
+
+2014-02-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Typo
+
+2014-02-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Consider spring
+	constant to be infinite when it is set to zero.  Avoid zero division
+	when mass or inertia are zero.
+
+2014-02-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp: Suit mor "springy"
+	intial values
+
+2014-02-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Do not discount the
+	origin when resetting state
+
+2014-02-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Fix wrong coeficients
+
+2014-02-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Fix equations of
+	movement
+
+2014-02-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_derivative.cpp,
+	synfig-core/src/synfig/valuenode_derivative.h: Add code for
+	derivative of order two
+
+2014-02-07  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Trial with new equations
+	for rotation
+
+2014-02-07  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp: Properly calculate
+	the step
+
+2014-02-07  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: When playing backwards,
+	calculate the dynamic from the start.  New member to reset state.
+	Disable torsion spring again, needs fixes.
+
+2014-02-05  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Re-enable torsion
+	equations. Fix rest position calculation. Not working yet
+
+2014-02-05  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Disable torsion spring.
+	Equations aren't correct yet.  Move state variable inside class.
+
+2014-02-04  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Typo in formula.
+	Remember last time called.
+
+2014-02-03  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Implement integration of
+	equations.
+
+2014-01-30  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Add value node for the
+	derivative of the origin of the dynamic system.
+
+2014-01-29  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_derivative.cpp,
+	synfig-core/src/synfig/valuenode_derivative.h: oNew Value Node
+	Derivative
+
+2014-01-29  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.h: Correct header macro
+
+2014-01-28  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Fix compiling errors
+
+2014-01-27  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Initial draft for
+	equations
+
+2014-01-20  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.cpp,
+	synfig-core/src/synfig/valuenode_dynamic.h: Empty structure for
+	Dynamic convert type
+
+2014-01-16  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/matrix.cpp, synfig-core/src/synfig/matrix.h,
+	synfig-core/src/synfig/time.cpp, synfig-core/src/synfig/vector.h: 
+	Remove unneded isnan definition macros what conflicts with usage of
+	std::isnan
+
+2014-02-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_average.cpp,
+	synfig-core/src/synfig/valuenode_average.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valueoperations.h,
+	synfig-core/src/synfig/valuetransformation.h: ValueNode_Average
+
+2014-02-11  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_skeleton.h: Visualize skeleton
+
+2014-01-17  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Fix bug with loading "old"
+	ValueNode_BoneLink
+
+2014-01-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Allow to load files with
+	previous versions of BoneLink
+
+2014-01-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bonelink.cpp: Fix
+	ValueNode_BoneLink
+
+2014-01-15  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: Add list of bones into
+	ValueNode_BoneLink
+
+2014-01-16  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_png/main.cpp: Make png target default
+	for png extension.  Explanation: ext_book is a std::map so keys occur only once.  The
+	three TARGET macros for cairo_png_trgt, png_trgt and
+	png_trgt_spritesheet, overwrite the ext_book value for the key "png"
+	so the last target defined is the one selected by default when
+	target is deduced from extension.  With the commit we assure that for extension "png" we will use
+	png_trgt when the target is deduced from the png.
+
+2014-01-05  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Convert transformation to
+	composite when old file opened
+
+2014-01-05  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix rendering
+
+2013-12-30  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/vector.h: Fix compilation for WIN32 case
+
+2013-12-31  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/transformation.h: Optimize Layer_PasteCanves
+	rendering when no transformation
+
+2013-12-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Fix bug with opening files
+
+2013-12-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug with
+	'origin'
+
+2013-12-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp: Removed cool good and perfect
+	functionality of 'origin_transformation'.  It replaced onto simple
+	easy and trivial vector 'origin' (initial offset). This should to
+	improve usability and friendship synfig with user. May be...
+
+2013-12-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/transformation.h: Add constructor for
+	Transformation
+
+2013-12-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Optimize rendering
+	of Layer_PasteCanvas
+
+2013-12-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/rect.h,
+	synfig-core/src/synfig/transformation.h,
+	synfig-core/src/synfig/vector.h: Fix rendering of text layers
+
+2013-12-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Improve Layer_PasteCanvas
+	loading (dont generate unneeded links)
+
+2013-12-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp: Fix loading previous versions
+	of Layer_PasteCanvas
+
+2013-12-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/matrix.cpp,
+	synfig-core/src/synfig/matrix.h,
+	synfig-core/src/synfig/transformation.h: Improve matrix
+
+2013-12-18  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuetransformation.h: Add file
+	valuetransformation.h
+
+2013-12-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/matrix.cpp, synfig-core/src/synfig/matrix.h,
+	synfig-core/src/synfig/transformation.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: Allow
+	ValueNode_BoneLink link several types of values
+
+2013-12-15  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/value.cpp: Fix bug with groups
+	(transformation params)
+
+2013-12-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug with
+	rendering
+
+2013-12-12  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/releases.h: Fix releases
+
+2013-12-11  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/bone.cpp, synfig-core/src/synfig/bone.h,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_staticlist.cpp: Remove "Angle
+	Setup" and "Origin Setup" fields from bone
+
+2013-12-10  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/transformation.h: Perfecr software rendering
+	(without optimizations yet)
+
+2013-12-06  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Software rendering
+	for Layer_PasteCanvas. Without any optimization.
+
+2013-12-06  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/transformation.h: Fix compilation errors
+
+2013-12-04  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/transformation.h: Fix fields initialization
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/transformation.h,
+	synfig-core/src/synfig/valuenode_bonelink.cpp: New behavior for
+	origin and transformation
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Save/load
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h,
+	synfig-core/src/synfig/valuenode_composite.cpp: Fix sinfig-core to
+	work with improved Transformation
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/matrix.cpp,
+	synfig-core/src/synfig/matrix.h: And new methods into Matrix
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/transformation.h: Improve transformation
+	(rev.B. valid)
+
+2013-11-28  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/transformation.h: Improve Transformation
+	(rev.A)
+
+2013-11-26  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: Add
+	'base_tranhsformation' field into ValueNobe_BoneLink
+
+2013-11-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp: Save/load
+
+2013-11-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: Allow to select bone
+	from combobox in BoneLink
+
+2013-11-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.cpp,
+	synfig-core/src/synfig/valuenode_bonelink.h: ValueNode_BoneLink
+	converter
+
+2013-11-17  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/transformation.h,
+	synfig-core/src/synfig/valuenode_composite.cpp: Improve
+	transformation functionality, add link to origin in param
+
+2013-11-15  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/rect.h, synfig-core/src/synfig/vector.h: New
+	transformation mode for Layer_Pastecanvas (cairo only)
+
+2013-11-14  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add
+	origin_transformation parameter into Layer_PasteCanvas
+
+2013-11-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add 'transformation'
+	parameter into Layer_PasteCanvas. Unused yet.
+
+2013-11-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Ability to convert
+	Transformation into ValueNode_Composite
+
+2013-11-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Add Transformation type into ValueBase
+
+2013-11-07  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/transformation.h: Create new type -
+	Transformation
+
+2014-01-06  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Fix synfig-core/conigure.ac for older
+	versions of autoconf
+
+2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/src/synfig/guid.cpp: Suit a
+	better solution for FUNCTIONAL_H case. Add support for C++11
+	unordered_map and unordered_set.
+
+2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/guid.cpp: Disable FUNCTIONAL_H
+
+2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/exception.h,
+	synfig-core/src/synfig/layer.h, synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/time.h: Replace references to string_decl.h
+	with string.h
+
+2013-12-30  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp: Typos
+
+2013-12-25  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Line up
+	arguments to AC_CHECK_LIB dlopen.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Erase more
+	commented-out code.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Turn mixed
+	indentation (tabs+spaces) into just tabs.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Erase lonely
+	'true' that did nothing.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Erase
+	commented-out code.  They can be rewritten if we need them.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Shorten help
+	strings.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Take out
+	if-else block that I forgot.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Replace manual
+	help strings with AS_HELP_STRING.
+
+2013-12-23  Charlie Murphy <cmsmurp00 at gmail.com>
+
+	* synfig-core/configure.ac: synfig-core/configure.ac: Squeeze some
+	if-else blocks into equivalent AM_CONDITIONAL blocks.
+
+2013-12-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/main.cpp: Portability fixes for OpenBSD.
+	Patch by Aaron Suen.
+
+2013-12-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp: Fix
+	description of png_spritesheet target. Cleanup.
+
+2013-10-16  Moritz Grosch (LittleFox) <littlefox at fsfe.org>
+
+	* synfig-core/src/modules/mod_png/Makefile.am,
+	synfig-core/src/modules/mod_png/main.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.cpp,
+	synfig-core/src/modules/mod_png/trgt_png_spritesheet.h: Added target
+	png_spritesheet png_spritesheet is a target to put all frames in a single png file.
+	The frames are drawn vertically below each other.  I think it's a good start for this feature request:
+	http://www.synfig.org/issues/thebuggenie/synfig/issues/222 Although
+	not everything wished there is implemented.  It's only a modification of the target png, there is no way to set
+	the space between two frames or to draw them horizontally.  Anyway it's useful for me and, I'm sure, for many others.
+
+2013-12-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/ar.po,
+	synfig-core/po/ca.po, synfig-core/po/cs.po, synfig-core/po/da.po,
+	synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/eu.po, synfig-core/po/eu_ES.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/he.po, synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
+
+2013-11-28  Yu Chen <jcomee at gmail.com>
+
+	* synfig-core/src/modules/mod_png/trgt_png.cpp: Fix build 2 errors
+	on Fedora add boost-devel to linux autobuild script and include string.h to
+	png target.
+
+2013-11-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer.h: Probably we don't need copy()
+	operator in IMPORT_VALUE macros
+
+2013-10-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp: Fix
+	mptr_ffmpeg
+
+2013-11-06  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/src/synfig/releases.h: Bump
+	version up to 0.65.0. Because we need a difference. ^__^
+
+2013-10-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Update requirements. Fix typos.
+
+2013-11-06  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* : commit 89571ed792641a34567f8394f4c97ea79a33f1bb Author:
+	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Mon Nov 4
+	20:37:21 2013 +0700
+
+2013-11-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/lt.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/ru.po: Update translations
+
+2013-10-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* : Update walk.sifz example
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
+	synfig-core/src/modules/mod_svg/svg_parser.h,
+	synfig-core/src/synfig/activepoint.h: Change includes stdlib.h and
+	stdio.h to cstdlib and cstdio to avoid C macro definitions
+
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/fr.po, synfig-core/po/pl_PL.po: Update translations
+
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS, synfig-core/configure.ac: Switch to 0.64.1-RC2
+
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp: Fix headers.
+	Cleanup.
+
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/layer.h, synfig-core/src/synfig/value.cpp,
+	synfig-core/src/synfig/value.h: Fix stability problems introduced by
+	migration of layer parameters to ValueBase type.  When layer recieves or outputs the parameter values we need to
+	create an independent copy of ValueBase object.  That way we avoid
+	memory problems and unauthorized changes for parameter.
+
+2013-10-15  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix warning in
+	filecontainerzip.cpp
+
+2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix
+	ffmpeg_mptr::seek_to() for Win32. Make error messages more
+	informative.
+
+2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Switch from 0.64.1-RC1 to 0.64.1
+
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/AUTHORS, synfig-core/README: Add copyright/credits for
+	Ivan Mahonin
+
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/NEWS: Update NEWS files
+
+2013-10-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp: Fix typo that
+	causes crash in debug mode and possible wrong work in release mode
+
+2013-10-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp: Fix typo that
+	causes crash in debug mode and possible wrong work in release mode
+
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/ca.po, synfig-core/po/cs.po, synfig-core/po/da.po,
+	synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/eu.po, synfig-core/po/eu_ES.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
+
+2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Wrap ffmpeg
+	commandline with two doublequotes to cover the dumb cmd.exe
+	behavior. See
+
+	http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
+
+2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Path to ffmpeg
+	binary fails if contains spaces. Fixed.
+
+2013-10-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/test/Makefile.am: Fix distcheck errors for synfig-core
+
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Bump version for release candidate
+
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/releases.h: Update file format version
+
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/ca.po,
+	synfig-core/po/cs.po, synfig-core/po/da.po, synfig-core/po/de.po,
+	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/eu.po,
+	synfig-core/po/eu_ES.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
+
+2013-10-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32: Fix
+	ffmpeg binary detection (one more time)
+
+2013-09-26  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_step.cpp: Update
+	valuenode_step.cpp Fix spelling of word
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp: typo
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h: Little fix
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: temporary fix. in future we
+	should to change type of return value of method clone() to
+	ValueNode::Handle
+
+2013-09-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/tool/printing_functions.cpp: Fix synfig-core
+	compilation error on OSX 10.7
+
+2013-10-05  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: The pkgconfig detection is not available
+	for old versions of zlib, so  let's use simpler approach for now
+
+2013-10-01  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Revert commit:7e74aa9 Interval criteria for Z Range is: Full visible: z in [p, p+d]
+	Partially visible: z in [p-t, p) or (p+d, p+d+t] Default d=0
+
+2013-09-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filecontainerzip.h: Functionality for read
+	history
+
+2013-09-27  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp: Short filenames
+	params: #filename.png instead of #images/filename.png
+
+2013-09-25  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix bug with
+	disappearing images after save into container
+
+2013-09-24  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Replace prefix
+	"container:" to "#"
+
+2013-09-24  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainertemporary.cpp: Fix bug with
+	resaving container.
+
+2013-09-23  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp: Fix bug with saving
+	images into container
+
+2013-09-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/tool/optionsprocessor.cpp: Change extension of
+	zip-container to "sfg"
+
+2013-09-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix bug with
+	zip-container
+
+2013-09-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/canvas.cpp: Allow to "export" external
+	canvas
+
+2013-09-20  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/synfig/layer.h: Split large macro definition for
+	better debugging
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: fix warning in
+	filecontainerzip.cpp
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/synfig/filecontainer.cpp,
+	synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/zstreambuf.h: Derive
+	FileSystem::(Read/Write)Stream from std::(i/o)stream
+
+2013-09-30  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: Fix z range blur parameter
+	usage for Group layers
+
+2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Ffmpeg target:
+	Replace deprecated option - "loop_input". Fixes #345.
+
+2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32 build:
+	Fix ffmpeg invocation
+
+2013-09-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Redefine nomenclature
+	for Z Range parameters and members.
+
+2013-09-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Revert criteria of z
+	range visibility. layers are visible now in the interval [position +
+	depth) that is, included the left boundary and excluded the right
+	boundary.
+
+2013-09-28  Carlos López <genetita at gmail.com>
+
+	* : Merge pull request #65 from genete/group-switch Group switch
+
+2013-09-26  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp: Various fixes to make Layer
+	ZDepth Range Set work.  Action is not candidate if layers are in
+	root canvas.  Calculate properly z_depth_range_depth value to set.
+	Action is ready if there isn't new calculated z_depth position.  Add
+	actions to change the Layer PasteCanvas parameters.  Add some
+	warnings to explain why the paste canvas is not found.
+
+2013-09-26  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_step.cpp: Update
+	valuenode_step.cpp Fix spelling of word
+
+2013-09-26  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Consider included in
+	visible range layers placed on right boundary too.  Default
+	z_depth_range_depth to be 0.0
+
+2013-09-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp: Fix another crash related
+	with pointers usage. Now #482 should be fixed.  See http://www.synfig.org/issues/thebuggenie/synfig/issues/482
+
+2013-09-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_bone.cpp,
+	synfig-core/src/synfig/valuenode_bone.h,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/src/synfig/valuenode_staticlist.h: Change
+	ValueNode::clone() return type - use ValueNode::Handle instead of
+	pointer
+
+2013-09-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp: Fix
+	ValueNode_Random::clone. Still crashes later inside of
+	Layer::connect_dynamic_param().
+
+2013-09-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Revert workaround introduced in
+	6444ec06052bad0efd2f85e75b9c966bc38bdd83
+
+2013-09-25  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Laeyr: Add member function to find the handle of its parent Paste
+	Canvas Layer or NULL if it belongs to root canvas
+
+2013-09-25  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Make z_depth range
+	enabled parameter static.
+
+2013-09-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: Use the transition parameter to
+	make layers partially visible in the transition area.
+
+2013-09-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Make sure we have zlib configured
+
+2013-09-16  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix complain about
+	uint32_t and uint16_t already defined in /usr/include/stdint.h.
+	Happens on Debian Etch.  Error text: filecontainerzip.cpp: In member function 'virtual bool
+	synfig::FileContainerZip::open(const std::string&)':
+	filecontainerzip.cpp:315: error: reference to 'uint16_t' is
+	ambiguous /usr/include/stdint.h:50: error: candidates are: typedef
+	short unsigned int uint16_t ...  filecontainerzip.cpp:427: error:
+	reference to 'uint32_t' is ambiguous /usr/include/stdint.h:52:
+	error: candidates are: typedef unsigned int uint32_t
+	filecontainerzip.cpp:55: error:                 typedef unsigned int
+	synfig::FileContainerZip_InternalStructs::uint32_t
+
+2013-09-24  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: WIP: Use recent implemented
+	z_depth_visibility when optimizing layers
+
+2013-09-24  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Fix hit_check and
+	get_color to properly work with Paste Canvases with layers with z
+	depth range enabled.
+
+2013-09-24  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Add member to retrieve
+	the z_depth visibility (0.0 - 1.0 float range) Fix bounding box for
+	Paste Cavnas Layer when z depth range is enabled.
+
+2013-09-24  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Layer: Add member to calculate the true z depth of the layer.  Use
+	it where applicable
+
+2013-09-23  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Move the new
+	parameters description below the set hidden for outline_grow
+
+2013-09-23  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: When optimizing layers only add
+	the layers that are visible in the range.
+
+2013-09-23  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.h: Add new members to ContextParams
+	to include the z_depth range visibility.
+
+2013-09-23  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add new parameters to
+	Group Layer for the z_depth visibility feature
+
+2013-09-20  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.h: By default, BLinePoint has
+	split tangent radius
+
+2013-09-19  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Hide 'Split'
+	subparameter since it is not used.
+
+2013-09-17  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp: This comparison is not
+	needed.  If tangent2 radius is zero, its angle is undefined
+	regardless tangent1 radius
+
+2013-09-17  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h: Update tangent2 radius or angle
+	split versions, regardless the split status.  Simplify
+	get_tangent2()
+
+2013-09-15  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.h: When splitting or merging
+	both tangents, use the internal interface to set the individual
+	splits. This assures that the tangent 2 is updated properly.  Also
+	rewrite the logic of the set_merge_tangent_both accordingly to the
+	function verb.
+
+2013-09-15  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp: When updating the tangent2
+	do not update the tangent2 but the radius and angle split versions
+	of tangent2
+
+2013-09-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_bline.cpp: When creating a new
+	entry in a BLine, make the tangents the adequate to fit the shape.
+	It needs two extra actions to update adjacent BLinepoint tangents.
+
+2013-09-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.h: Default BLinePoints has now a
+	width of 1.0
+
+2013-09-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/synfig/blinepoint.h: Use the new members of
+	BLinePoint correctly in the layers.
+
+2013-09-12  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.h: Clarify logic when getting
+	tangent2
+
+2013-09-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp: When angles are linked,
+	avoid update angle of tangent2 if radius of tangent1 is zero
+
+2013-09-11  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h: Incorporate the new
+	members to ValueNode Composite.  Fix loadcanvas to allow properly
+	load old files.
+
+2013-09-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp: Refactor class
+	BLinePoint: 1) Replace split_tangent by the combination of split_tangent_ragdius
+	and split_tangent_angle.  2) Add new private members to retrive the combination of both flags
+	for full split or full merged 3) Add two new private members to store the tangent2 to return for
+	the possible split flags combinations (tangent2_radius_split and
+	tangent2_angle_split) 4) New private member function update_flags to update new flags from
+	2) 5) New private member to update the tangent2 accordingly to the
+	flags.  6) Update callbacks to BLinePoint members where applicable.
+
+2013-09-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_blinereversetangent.cpp: When
+	calculating the reverse of a BlinePoint, use its internal reverse
+	member instead of figure out externally.
+
+2013-08-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/vector.h: Add new constructor to Vector
+	class based on radius and angle.
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp: typo
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h: Little fix
+
+2013-09-16  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: temporary fix. in future we
+	should to change type of return value of method clone() to
+	ValueNode::Handle
+
+2013-09-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_openexr/mptr_openexr.cpp: Add missing
+	definition of supports_file_system_wrapper variable for EXR
+	importer. Compile failed with EXR  enabled.
+
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Bump ImageMagick version number
+
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Don't output MAGICKPP_LIBS variable at
+	configure time, because it is optional dependency
+
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: MagickLib
+	is deprecated. Replaced with MagickCore since ImageMagick 6.4.2.
+
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Fix
+	detection for Magick++. Deprecate versions <= 6.3.8. Remove
+	HAVE_MAGICK_OPTIMIZE as outdated.
+
+2013-09-12  Carlos López <genetita at gmail.com>
+
+	* : Merge pull request #47 from genete/subdir-objects Fix several configure and compile warnings.
+
+2013-09-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filecontainerzip.h,
+	synfig-core/src/synfig/filesystemnative.h: Fix missing 'class'
+	keyword when using 'friend' attribute.
+
+2013-09-10  Carlos López <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Fix missing 'filename'
+	replacement to 'identifier.filename'.
+
+2013-09-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/src/tool/printing_functions.cpp: Fix synfig-core
+	compilation error on OSX 10.7
+
+2013-09-10  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_png/mptr_png.cpp: Fix compile error in
+	mod_png
+
+2013-09-09  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainertemporary.cpp: Remove
+	temprorary files after close.
 
-2014-09-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Typo
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: Fix autorecover
 
-2014-09-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
-	synfig-core/src/synfig/target.h: Fix #138: Allow to use 'avconv'
-	binary instead of 'ffmpeg'
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: 
+	FileContainerTemporary: save and load current state into/from file (backup/recover)
 
-2014-08-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-05  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_png/trgt_png.cpp: PNG target now
-	properly responding to "Extract alpha" option
+	* synfig-core/src/tool/optionsprocessor.cpp: Support zip-containers
+	opening for synfig command line
 
-2014-08-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-05  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/tool/job.h,
-	synfig-core/src/tool/joblistprocessor.cpp,
-	synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp: Allow to render alpha
-	information into separate file (CLI).  The new option "--extract-alpha" (or "-x") allows to extract alpha
-	information into separate file ("-alpha" suffix added into output
-	filename).
+	* synfig-core/src/synfig/zstreambuf.cpp: Remove debug code from
+	zstreambuf
 
-2014-08-18  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-05  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
-	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
-	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_tile.cpp: Allow target to handle alpha
-	in 4 different ways
+	* synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemgroup.cpp,
+	synfig-core/src/synfig/filesystemgroup.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h,
+	synfig-core/src/synfig/zstreambuf.cpp: Save canvas opened from .zip
+	into .sifz with references
 
-2014-08-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-05  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/tool/main.cpp: Add Lossless H.264 encoding profile.
-	The resulting file is compatible with Sony Vegas and other software
-	based on QuickTime AVC decoders.
+	* synfig-core/configure.ac: Include glibmm and giomm into
+	synfig-core/configure.ac
 
-2014-05-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-04  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/savecanvas.cpp: Fix #572: Unable save to
-	file (Windows)
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/zstreambuf.cpp,
+	synfig-core/src/synfig/zstreambuf.h: Implement compression for sifz
+	files
 
-2014-03-15  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-04  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_png/trgt_png.cpp: Fix missing include
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/zstreambuf.cpp,
+	synfig-core/src/synfig/zstreambuf.h: zlib wrapper classes
+	zstreambuf, ZReadStream, ZWriteStream
 
-2013-12-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-03  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/main.cpp: Portability fixes for OpenBSD.
-	Patch by Aaron Suen.
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.h,
+	synfig-core/src/synfig/filesystem.h: Support PNG in ZIP containers
 
-2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-03  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/configure.ac, synfig-core/src/synfig/guid.cpp: Suit a
-	better solution for FUNCTIONAL_H case. Add support for C++11
-	unordered_map and unordered_set.
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix ZIP history
+	markers
 
-2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-03  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/guid.cpp: Disable FUNCTIONAL_H
+	* synfig-core/src/synfig/filecontainerzip.cpp: Save again already
+	saved ZIP now works
 
-2013-12-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-02  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/exception.h,
-	synfig-core/src/synfig/layer.h, synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/time.h: Replace references to string_decl.h
-	with string.h
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h: Fix bugs. Synfig now can open
+	saved ZIPs with BMPs.
 
-2013-11-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-02  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/NEWS, synfig-core/configure.ac: Release 0.64.1
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Fixed bugs. Canvas now saves
+	into ZIP with all contained BMPs
 
-2013-11-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-02  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/po/lt.po, synfig-core/po/pl_PL.po,
-	synfig-core/po/ru.po: Update translations
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp: Fix import BMP
 
-2013-10-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-09-02  Ivan Mahonin <bh at icystar.com>
 
-	* : Update walk.sifz example
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: Fix
+
+2013-09-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/savecanvas.cpp: Fix bug in save_canvas
+
+2013-09-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: Add pointer to user data into
+	save canvas callback
+
+2013-09-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: Improve save canvas callback
+
+2013-09-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: save/load canvas and
+	other files via FileSystem wrapper in synfig-core
+
+2013-09-02  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/synfig/cairoimporter.cpp,
+	synfig-core/src/synfig/cairoimporter.h,
+	synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystemnative.h,
+	synfig-core/src/synfig/importer.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: Save canvas by file identifier
+
+2013-09-01  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/module.h: 
+	Load canvas by FileSystem::Identifier
+
+2013-08-31  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
+	synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h,
+	synfig-core/src/synfig/listimporter.cpp: Single instance of
+	FileSystemNative
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/cairolistimporter.h,
+	synfig-core/src/synfig/listimporter.cpp,
+	synfig-core/src/synfig/listimporter.h: adapt list importers to new
+	importers
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/module.h: Fix module macros
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
+	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.cpp,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h,
+	synfig-core/src/synfig/listimporter.cpp,
+	synfig-core/src/synfig/module.h: Add additional information about
+	each importer into Importer::book
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/synfig/cairoimporter.cpp,
+	synfig-core/src/synfig/cairoimporter.h: Change CairoImporter to work
+	with FileSystem wrapper
+
+2013-08-30  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/filecontainerzip.cpp: Fix FilecontainerZip
+	- don't create directory for root
 
 2013-08-30  Ivan Mahonin <bh at icystar.com>
 
@@ -106,169 +3677,254 @@
 	synfig-core/src/synfig/activepoint.h: Change includes stdlib.h and
 	stdio.h to cstdlib and cstdio to avoid C macro definitions
 
-2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/po/fr.po, synfig-core/po/pl_PL.po: Update translations
+	* synfig-core/src/modules/mptr_mplayer/mptr_mplayer.cpp,
+	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.h: adapt
+	mptr_mplayer to new importer
 
-2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/NEWS, synfig-core/configure.ac: Switch to 0.64.1-RC2
+	* synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.h: adapt mptr_ppm to new
+	importer
 
-2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp: Fix headers.
-	Cleanup.
+	* synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.h: adapt mptr_png to new
+	importer
 
-2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/layer.h, synfig-core/src/synfig/value.cpp,
-	synfig-core/src/synfig/value.h: Fix stability problems introduced by
-	migration of layer parameters to ValueBase type.  When layer recieves or outputs the parameter values we need to
-	create an independent copy of ValueBase object.  That way we avoid
-	memory problems and unauthorized changes for parameter.
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.h: adapt
+	mptr_cairo_png to new importer
 
-2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.h: adapt
+	mptr_openexr to new importer
+
+2013-08-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.h: adapt mptr_jpeg to new
+	importer
+
+2013-08-29  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.h: adapt
+	mptr_imagemagick to new importer
+
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
 	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix
-	ffmpeg_mptr::seek_to() for Win32. Make error messages more
-	informative.
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.h: adapt mptr_ffmpeg
+	to new importer
 
-2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/configure.ac: Switch from 0.64.1-RC1 to 0.64.1
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.h: adapt mptr_bmp to new
+	importer
 
-2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/AUTHORS, synfig-core/README: Add copyright/credits for
-	Ivan Mahonin
+	* synfig-core/src/synfig/importer.h: Fix Importer macros
 
-2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/NEWS: Update NEWS files
+	* synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h: Improve FileSystem class. Quick
+	access to get_XXX_stream.  Fix bug with getc and putc macro
 
-2013-10-11  Carlos Lopez <genetita at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/lyr_std/sphere_distort.cpp: Fix typo that
-	causes crash in debug mode and possible wrong work in release mode
+	* synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h: Change Importer class to work via
+	FileSystem wrapper. Code broken.
 
-2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/po/ca.po, synfig-core/po/cs.po, synfig-core/po/da.po,
-	synfig-core/po/de.po, synfig-core/po/el_GR.po,
-	synfig-core/po/en_GB.po, synfig-core/po/es.po,
-	synfig-core/po/eu.po, synfig-core/po/eu_ES.po,
-	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
-	synfig-core/po/hu.po, synfig-core/po/it.po,
-	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
-	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
-	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
-	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
-	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
-	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
+	* synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemgroup.cpp,
+	synfig-core/src/synfig/filesystemgroup.h,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h,
+	synfig-core/src/synfig/savecanvas.cpp: Fix bugs. Canvas now saves
+	and loads to/from zip-container.  You need to set .zip extension
+	while saving to use this feature.
 
-2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Wrap ffmpeg
-	commandline with two doublequotes to cover the dumb cmd.exe
-	behavior. See
+	* synfig-core/src/synfig/filecontainer.cpp,
+	synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filesystemgroup.cpp: Fix bugs. Synfig now can
+	save canvas into zip container.  But cannot load anything yet.
 
-	http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Fix compilation errors
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Path to ffmpeg
-	binary fails if contains spaces. Fixed.
+2013-08-29  Ivan Mahonin <bh at icystar.com>
 
-2013-10-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: Improve
+	FileTemporaryContainer::save_changes() - compare new and old
+	filenames
 
-	* synfig-core/test/Makefile.am: Fix distcheck errors for synfig-core
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp: Load canvas via FileSystem
+	wrapper
 
-	* synfig-core/configure.ac: Bump version for release candidate
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/savecanvas.cpp: Fix save_canvas: close
+	stream immediately after write XML
 
-	* synfig-core/src/synfig/releases.h: Update file format version
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: save canvas via FileSystem
+	wrapper
 
-	* synfig-core/configure.ac, synfig-core/po/ca.po,
-	synfig-core/po/cs.po, synfig-core/po/da.po, synfig-core/po/de.po,
-	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
-	synfig-core/po/es.po, synfig-core/po/eu.po,
-	synfig-core/po/eu_ES.po, synfig-core/po/fa_IR.po,
-	synfig-core/po/fr.po, synfig-core/po/hu.po, synfig-core/po/it.po,
-	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
-	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
-	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
-	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
-	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
-	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-10-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemgroup.cpp,
+	synfig-core/src/synfig/filesystemgroup.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h: Implement file_rename
+	method (for FileSystemNative only)
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32: Fix
-	ffmpeg binary detection (one more time)
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-09-26  Carlos López <genetita at gmail.com>
+	* synfig-core/src/synfig/filecontainertemporary.cpp: Fix
+	initialization order for FileContainerTemporary
 
-	* synfig-core/src/synfig/valuenode_step.cpp: Update
-	valuenode_step.cpp Fix spelling of word
+2013-08-28  Ivan Mahonin <bh at icystar.com>
 
-2013-09-16  Ivan Mahonin <bh at icystar.com>
+	* synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h: STL streams interfaces for
+	FileSystem streams
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp: typo
+2013-08-27  Ivan Mahonin <bh at icystar.com>
 
-2013-09-16  Ivan Mahonin <bh at icystar.com>
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: 
+	FileContainerTemporary: allow to create temporary container without
+	holding zip-container
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h: Little fix
+2013-08-27  Ivan Mahonin <bh at icystar.com>
 
-2013-09-16  Ivan Mahonin <bh at icystar.com>
+	* synfig-core/src/synfig/filecontainerzip.cpp: FileContainerZip:
+	Move internal structs into synfig namespace from global scope
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: temporary fix. in future we
-	should to change type of return value of method clone() to
-	ValueNode::Handle
+2013-08-27  Ivan Mahonin <bh at icystar.com>
 
-2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: 
+	FileContainerTemporary: remove unused static variable
+	"tmp_directory__"
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Ffmpeg target:
-	Replace deprecated option - "loop_input". Fixes #345.
+2013-08-27  Ivan Mahonin <bh at icystar.com>
 
-2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h: 
+	FileContainerTemporary: find path to temporary folder
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32 build:
-	Fix ffmpeg invocation
+2013-08-26  Ivan Mahonin <bh at icystar.com>
 
-2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filecontainer.cpp,
+	synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filecontainerzip.h,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h: Fix bugs in FileSystem
+	classes
 
-	* synfig-core/configure.ac: Bump ImageMagick version number
+2013-08-26  Ivan Mahonin <bh at icystar.com>
 
-2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/filecontainer.cpp,
+	synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filecontainertemporary.cpp,
+	synfig-core/src/synfig/filecontainertemporary.h,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filecontainerzip.h,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h: temporary storage -
+	FileContainerTemporary
 
-	* synfig-core/configure.ac: Don't output MAGICKPP_LIBS variable at
-	configure time, because it is optional dependency
+2013-08-23  Ivan Mahonin <bh at icystar.com>
 
-2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h: Callback to gather names of
+	external files while saving.
 
-	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: MagickLib
-	is deprecated. Replaced with MagickCore since ImageMagick 6.4.2.
+2013-08-23  Ivan Mahonin <bh at icystar.com>
 
-2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h: Add file system wrapper into
+	mptr_bmp. Improve streams.
 
-	* synfig-core/configure.ac,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Fix
-	detection for Magick++. Deprecate versions <= 6.3.8. Remove
-	HAVE_MAGICK_OPTIMIZE as outdated.
+2013-08-22  Ivan Mahonin <bh at icystar.com>
 
-2013-09-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/filesystemnative.cpp: FileSystemNative fix
+	for windows
 
-	* synfig-core/src/tool/printing_functions.cpp: Fix synfig-core
-	compilation error on OSX 10.7
+2013-08-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h: Static field in Importer to hold
+	FileSystem object
+
+2013-08-22  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/filecontainer.cpp,
+	synfig-core/src/synfig/filecontainer.h,
+	synfig-core/src/synfig/filecontainerzip.cpp,
+	synfig-core/src/synfig/filecontainerzip.h,
+	synfig-core/src/synfig/filesystem.cpp,
+	synfig-core/src/synfig/filesystem.h,
+	synfig-core/src/synfig/filesystemgroup.cpp,
+	synfig-core/src/synfig/filesystemgroup.h,
+	synfig-core/src/synfig/filesystemnative.cpp,
+	synfig-core/src/synfig/filesystemnative.h,
+	synfig-core/src/synfig/storage.cpp,
+	synfig-core/src/synfig/storage.h,
+	synfig-core/src/synfig/storagezip.cpp,
+	synfig-core/src/synfig/storagezip.h: Wrapper to work with files in
+	container and files in common file system.
+
+2013-08-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/storagezip.cpp,
+	synfig-core/src/synfig/storagezip.h: StorageZip: implemented crc32
+	and timestamps
+
+2013-08-21  Ivan Mahonin <bh at icystar.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/storage.cpp,
+	synfig-core/src/synfig/storage.h,
+	synfig-core/src/synfig/storagezip.cpp,
+	synfig-core/src/synfig/storagezip.h: StorageZip implementation
 
 2013-09-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
diff --git a/INSTALL b/INSTALL
index 007e939..2099840 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,8 +12,8 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
+   Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package.  The following
 more-detailed instructions are generic; see the `README' file for
 instructions specific to this package.  Some packages provide this
 `INSTALL' file but do not implement all of the features documented
diff --git a/Makefile.in b/Makefile.in
index bc80531..9b37fc9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -91,7 +91,7 @@ DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
 	COPYING TODO config/compile config/config.guess \
 	config/config.rpath config/config.sub config/depcomp \
 	config/install-sh config/missing config/ltmain.sh \
-	$(top_srcdir)/config/config.guess \
+	$(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
 	$(top_srcdir)/config/config.rpath \
 	$(top_srcdir)/config/config.sub \
 	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
@@ -99,7 +99,10 @@ DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -258,9 +261,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -292,6 +298,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = grep
@@ -329,6 +339,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -346,6 +357,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
@@ -567,8 +580,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -841,10 +854,16 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
 
@@ -886,9 +905,10 @@ distcheck: dist
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && ../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
diff --git a/NEWS b/NEWS
index 8bfef9f..8a79d27 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,26 @@ More detailed notes are available on the news page:
 
 http://synfig.org/cms/en/news/
 
+ 1.0 (git tag "1.0") - April 27, 2015 - Major release.
+ 
+  * Introduce new file format (SFG) which can store embed data.
+  * Group Layer now supports all basic transformations: Translate, Rotate, Scale, Stretch, Skew.
+  * Improved Spline Tangents: Now it is possible to split angle or radius independently.
+  * New ValueNode: Dynamic.
+  * New ValueNode: Average.
+  * New ValueNode: Weighted Average.
+  * New Layer: Skeleton Distortion.
+  * Sound: Integrate MLT framework for sound Playback.
+  * New layer: Sound Layer.
+  * Z-Range feature for Groups: Hides all child layers with Z-Depth values outside of specified range.
+  * Reworked software rendering engine.
+
+ 0.64.3 (git tag "0.64.3") - December 24, 2014 - Bug fixes.
+ 
+  * Fix crash for Magick++, Gif and other targets.
+  * Fix FFmpeg target for Ubuntu 14.10 (bug #729).
+  * Fix Extract Alpha option for CairoPng target (bug #730).
+  
  0.64.2 (git tag "0.64.2") - October 18, 2014 - Minor features, bug fixes.
   
   * Rendering: Allow to set mode of alpha handling.
diff --git a/README b/README
index 23f5949..f5fcfe0 100644
--- a/README
+++ b/README
@@ -32,16 +32,17 @@ Copyright 2002 Robert B. Quattlebaum Jr.
 Copyright 2002 Adrian Bentley
 Copyright 2006-2007 Paul Wise
 Copyright 2007-2008 Chris Moore
-Copyright 2008-2013 Carlos López
+Copyright 2008-2014 Carlos López
 Copyright 2008-2009 Gerco Ballintijn
 Copyright 2009-2012 Nikita Kitaev
-Copyright 2009-2013 Konstantin Dmitriev
+Copyright 2009-2015 Konstantin Dmitriev
 Copyright 2009 Carlos A. Sosa Navarro
 Copyright 2010 Brendon Higgins
 Copyright 2010 Ray Frederic
-Copyright 2011-2013 Diego Barrios
+Copyright 2011-2014 Diego Barrios
 Copyright 2012 Bertrand Greorie
-Copyright 2013 Ivan Mahonin
+Copyright 2013-2015 Ivan Mahonin
+Copyright 2015 Denis Zdorovtsov
 
 Licence
 
diff --git a/aclocal.m4 b/aclocal.m4
index bed139e..f3b37de 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.14.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -418,6 +418,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -526,7 +532,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -534,7 +581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -784,6 +830,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -1107,7 +1217,10 @@ AC_SUBST([am__untar])
 
 m4_include([m4/argz.m4])
 m4_include([m4/ax_boost_base.m4])
+m4_include([m4/ax_boost_chrono.m4])
+m4_include([m4/ax_boost_filesystem.m4])
 m4_include([m4/ax_boost_program_options.m4])
+m4_include([m4/ax_boost_system.m4])
 m4_include([m4/gettext.m4])
 m4_include([m4/iconv.m4])
 m4_include([m4/lib-ld.m4])
diff --git a/build_tools/Makefile.in b/build_tools/Makefile.in
index 491f11e..4713155 100644
--- a/build_tools/Makefile.in
+++ b/build_tools/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -84,7 +84,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -133,9 +136,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -167,6 +173,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -204,6 +214,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -221,6 +232,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/config.h.in b/config.h.in
index c03c12d..faf28be 100644
--- a/config.h.in
+++ b/config.h.in
@@ -65,9 +65,18 @@
 /* define if the Boost library is available */
 #undef HAVE_BOOST
 
+/* define if the Boost::Chrono library is available */
+#undef HAVE_BOOST_CHRONO
+
+/* define if the Boost::Filesystem library is available */
+#undef HAVE_BOOST_FILESYSTEM
+
 /* define if the Boost::PROGRAM_OPTIONS library is available */
 #undef HAVE_BOOST_PROGRAM_OPTIONS
 
+/* define if the Boost::System library is available */
+#undef HAVE_BOOST_SYSTEM
+
 /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
    CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYCURRENT
diff --git a/config/config.guess b/config/config.guess
index 1804e9f..1f5c50c 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2014-03-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -26,7 +24,7 @@ timestamp='2012-12-29'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner. 
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
@@ -52,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -136,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -809,7 +826,7 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -857,21 +874,21 @@ EOF
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -884,59 +901,54 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -955,54 +967,63 @@ EOF
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${LIBC}
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1235,19 +1256,31 @@ EOF
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1338,154 +1371,6 @@ EOF
 	exit ;;
 esac
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-	"4"
-#else
-	""
-#endif
-	); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
 cat >&2 <<EOF
 $0: unable to guess system type
 
diff --git a/config/config.sub b/config/config.sub
index 52f04bc..66c5074 100755
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2014-07-28'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -70,9 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -256,12 +252,12 @@ case $basic_machine in
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc \
+	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
 	| be32 | be64 \
 	| bfin \
-	| c4x | clipper \
+	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
 	| fido | fr30 | frv \
@@ -269,6 +265,7 @@ case $basic_machine in
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| k1om \
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -286,20 +283,22 @@ case $basic_machine in
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
 	| moxie \
 	| mt \
 	| msp430 \
 	| nds32 | nds32le | nds32be \
-	| nios | nios2 \
+	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or32 \
+	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
@@ -327,7 +326,7 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -369,13 +368,13 @@ case $basic_machine in
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -384,6 +383,7 @@ case $basic_machine in
 	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| k1om-* \
 	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
@@ -403,18 +403,22 @@ case $basic_machine in
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
 	| mipstx39-* | mipstx39el-* \
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
 	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -796,7 +800,7 @@ case $basic_machine in
 		os=-mingw64
 		;;
 	mingw32)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -824,6 +828,10 @@ case $basic_machine in
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -832,7 +840,7 @@ case $basic_machine in
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-msys
 		;;
 	mvs)
@@ -1354,7 +1362,7 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
 	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@@ -1369,14 +1377,14 @@ case $os in
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1500,9 +1508,6 @@ case $os in
 	-aros*)
 		os=-aros
 		;;
-	-kaos*)
-		os=-kaos
-		;;
 	-zvmoe)
 		os=-zvmoe
 		;;
@@ -1551,6 +1556,9 @@ case $basic_machine in
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	c8051-*)
+		os=-elf
+		;;
 	hexagon-*)
 		os=-elf
 		;;
diff --git a/config/missing b/config/missing
index cdea514..db98974 100755
--- a/config/missing
+++ b/config/missing
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
@@ -160,7 +160,7 @@ give_advice ()
       ;;
    autom4te*)
       echo "You might have modified some maintainer files that require"
-      echo "the 'automa4te' program to be rebuilt."
+      echo "the 'autom4te' program to be rebuilt."
       program_details 'autom4te'
       ;;
     bison*|yacc*)
diff --git a/config/test-driver b/config/test-driver
index 32bf39e..d306056 100755
--- a/config/test-driver
+++ b/config/test-driver
@@ -1,7 +1,7 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2012-06-27.10; # UTC
+scriptversion=2013-07-13.22; # UTC
 
 # Copyright (C) 2011-2013 Free Software Foundation, Inc.
 #
@@ -44,13 +44,12 @@ print_usage ()
 Usage:
   test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
               [--expect-failure={yes|no}] [--color-tests={yes|no}]
-              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+              [--enable-hard-errors={yes|no}] [--]
+              TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
 The '--test-name', '--log-file' and '--trs-file' options are mandatory.
 END
 }
 
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
 test_name= # Used for reporting.
 log_file=  # Where to save the output of the test script.
 trs_file=  # Where to save the metadata of the test run.
@@ -69,10 +68,23 @@ while test $# -gt 0; do
   --enable-hard-errors) enable_hard_errors=$2; shift;;
   --) shift; break;;
   -*) usage_error "invalid option: '$1'";;
+   *) break;;
   esac
   shift
 done
 
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+  usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+  usage_error "missing argument"
+fi
+
 if test $color_tests = yes; then
   # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
   red='' # Red.
diff --git a/configure b/configure
index 2bda305..bab78f2 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Synfig Core 0.64.2.
+# Generated by GNU Autoconf 2.69 for Synfig Core 1.0-RC5.
 #
 # Report bugs to <http://www.synfig.org/issues/thebuggenie/synfig>.
 #
@@ -595,8 +595,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Synfig Core'
 PACKAGE_TARNAME='synfig'
-PACKAGE_VERSION='0.64.2'
-PACKAGE_STRING='Synfig Core 0.64.2'
+PACKAGE_VERSION='1.0-RC5'
+PACKAGE_STRING='Synfig Core 1.0-RC5'
 PACKAGE_BUGREPORT='http://www.synfig.org/issues/thebuggenie/synfig'
 PACKAGE_URL=''
 
@@ -668,9 +668,14 @@ HAVE_LIBPNG_TRUE
 HAVE_LIBPNG14_FALSE
 HAVE_LIBPNG14_TRUE
 PNG_LIBS
+BOOST_CHRONO_LIB
+BOOST_FILESYSTEM_LIB
+BOOST_SYSTEM_LIB
 BOOST_PROGRAM_OPTIONS_LIB
 BOOST_LDFLAGS
 BOOST_CPPFLAGS
+MLTPP_LIBS
+MLTPP_CFLAGS
 LIBPANGO_LIBS
 LIBPANGO_CFLAGS
 LIBCAIRO_LIBS
@@ -679,6 +684,11 @@ LIBSIGC_LIBS
 LIBSIGC_CFLAGS
 LIBXMLPP_LIBS
 LIBXMLPP_CFLAGS
+GIOMM_LIBS
+GIOMM_CFLAGS
+GLIBMM_LIBS
+GLIBMM_CFLAGS
+LIBZ_LIBS
 ETL_LIBS
 ETL_CFLAGS
 POSUB
@@ -921,6 +931,9 @@ with_libintl_prefix
 with_boost
 with_boost_libdir
 with_boost_program_options
+with_boost_system
+with_boost_filesystem
+with_boost_chrono
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1475,7 +1488,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Synfig Core 0.64.2 to adapt to many kinds of systems.
+\`configure' configures Synfig Core 1.0-RC5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1545,7 +1558,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Synfig Core 0.64.2:";;
+     short | recursive ) echo "Configuration of Synfig Core 1.0-RC5:";;
    esac
   cat <<\_ACEOF
 
@@ -1569,17 +1582,15 @@ Optional Features:
   --enable-profiling      Enable profiling using gprof
   --enable-profile-arcs      Enable arc profiling
   --enable-branch-probabilities      Enable branch-probabilities
-
-  --enable-g5opt           enable optimizations specific to G5 proc
+  --enable-g5opt          enable optimizations specific to G5 proc
   --enable-static[=PKGS]  build static libraries [default=no]
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-
-  --enable-half           Use OpenEXR's "half" type for color
-
-  --enable-layer-profiling       Enable layer profiling
+  --enable-half           use OpenEXR "half" type for color
+  --enable-layer-profiling
+                          enable layer profiling
   --enable-ltdl-install   install libltdl
   --disable-nls           do not use Native Language Support
   --disable-rpath         do not hardcode runtime library paths
@@ -1592,27 +1603,18 @@ Optional Packages:
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot=DIR Search for dependent libraries within DIR
                         (or the compiler's sysroot if not specified).
-
-  --without-imagemagick   Disable support for ImageMagick
-
-  --without-magickpp        Disable support for Magick++
-
-  --without-ffmpeg        Disable support for FFMPEG
-
-  --with-vimage        Enable support for apple vImage
-
-  --without-libdv         Disable support for libdv
-
-  --with-libavcodec         Enable support for libavcodec (Default=no)
-  --without-libswscale    disable support for libswscale (Default=auto)
-
-  --without-freetype         disable support for freetype (Default=auto)
-
-  --without-fontconfig         disable support for fontconfig (Default=auto)
-
-  --without-openexr        Disable support for ILM's OpenEXR
-
-  --without-jpeg        Disable support for JPEG
+  --without-imagemagick   do not support ImageMagick
+  --without-magickpp      do not support Magick++
+  --without-ffmpeg        do not support FFMPEG
+  --with-vimage           support Apple vImage
+  --without-libdv         do not support libdv
+  --with-libavcodec       support libavcodec (default=no)
+  --without-libswscale    do not support libswscale (default=auto)
+  --without-freetype      do not support FreeType text rendering
+                          (default=auto)
+  --without-fontconfig    do not support fontconfig (default=auto)
+  --without-openexr       do not support OpenEXR
+  --without-jpeg          do not support JPEG
   --with-included-ltdl    use the GNU ltdl sources included here
   --with-ltdl-include=DIR use the ltdl headers installed in DIR
   --with-ltdl-lib=DIR     use the libltdl.la installed in DIR
@@ -1635,6 +1637,18 @@ Optional Packages:
                           possible to specify a certain library for the linker
                           e.g.
                           --with-boost-program-options=boost_program_options-gcc-mt-1_33_1
+  --with-boost-system[=special-lib]
+                          use the System library from boost - it is possible
+                          to specify a certain library for the linker e.g.
+                          --with-boost-system=boost_system-gcc-mt
+  --with-boost-filesystem[=special-lib]
+                          use the Filesystem library from boost - it is
+                          possible to specify a certain library for the linker
+                          e.g. --with-boost-filesystem=boost_filesystem-gcc-mt
+  --with-boost-chrono[=special-lib]
+                          use the Chrono library from boost - it is possible
+                          to specify a certain library for the linker e.g.
+                          --with-boost-chrono=boost_chrono-gcc-mt
 
 Some influential environment variables:
   CC          C compiler command
@@ -1715,7 +1729,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Synfig Core configure 0.64.2
+Synfig Core configure 1.0-RC5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2582,7 +2596,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Synfig Core $as_me 0.64.2, which was
+It was created by Synfig Core $as_me 1.0-RC5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3035,7 +3049,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
-am__api_version='1.13'
+am__api_version='1.14'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3521,7 +3535,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='synfig'
- VERSION='0.64.2'
+ VERSION='1.0-RC5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3572,6 +3586,47 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
@@ -3621,7 +3676,7 @@ INCLTDL="$LTDLINCL"
 
 
 
-API_VERSION=0.0
+API_VERSION=1.0
 
 
 
@@ -4427,6 +4482,65 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
@@ -6176,8 +6290,6 @@ $as_echo "$branch_probabilities" >&6; }
 # Check whether --enable-g5opt was given.
 if test "${enable_g5opt+set}" = set; then :
   enableval=$enable_g5opt;
-#	CXXFLAGS="$CXXFLAGS -fastf -fPIC"
-#	CFLAGS="$CFLAGS -fastf -fPIC"
 	CXXFLAGS="$CXXFLAGS -mtune=G5 -falign-loops=32"
 	CFLAGS="$CFLAGS -mtune=G5"
 
@@ -6188,8 +6300,6 @@ else
 fi
 
 
-#MINGW_FLAGS="-mno-cygwin"
-
 
 
 case "$host" in
@@ -6239,16 +6349,6 @@ esac
 
 
 
-# If we are in debug mode, use the debugging version of the
-# Microsoft Visual C Runtime Library
-#if [[ $debug = "yes" ]] ; then {
-#	WIN32_DEBUG_LIBRARY="msvcr70d"
-#	WIN32_DEBUG_LIBRARY="msvcrtd"
-#	LIBTOOL_PATCH_SED="$LIBTOOL_PATCH_SED
-#		s/-lmsvcrt/-l$WIN32_DEBUG_LIBRARY/g;
-#	";
-#} ; fi
-
 enable_win32_dll=yes
 
 case $host in
@@ -16889,16 +16989,6 @@ $as_echo "patched" >&6; }
 
 
 
-#if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
-#	printf "Patching libtool... "
-#	cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
-#	rm libtool
-#	mv libtool2 libtool
-#	chmod +x libtool
-#	AC_MSG_RESULT([patched])
-#} fi ;
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lc" >&5
 $as_echo_n "checking for dlopen in -lc... " >&6; }
 if ${ac_cv_lib_c_dlopen+:} false; then :
@@ -17028,7 +17118,7 @@ if test "${with_imagemagick+set}" = set; then :
 
 else
 
-    # Extract the first word of "convert", so it can be a program name with args.
+	# Extract the first word of "convert", so it can be a program name with args.
 set dummy convert; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -17066,21 +17156,11 @@ $as_echo "no" >&6; }
 fi
 
 
-    with_imagemagick=$imagemagick_convert
-
-fi
+	with_imagemagick=$imagemagick_convert
 
-if test $with_imagemagick = "no" ; then {
-	 if false; then
-  WITH_IMAGEMAGICK_TRUE=
-  WITH_IMAGEMAGICK_FALSE='#'
-else
-  WITH_IMAGEMAGICK_TRUE='#'
-  WITH_IMAGEMAGICK_FALSE=
 fi
 
-} else {
-	 if true; then
+ if test $with_imagemagick = yes; then
   WITH_IMAGEMAGICK_TRUE=
   WITH_IMAGEMAGICK_FALSE='#'
 else
@@ -17088,7 +17168,6 @@ else
   WITH_IMAGEMAGICK_FALSE=
 fi
 
-} ; fi
 
 
 
@@ -17200,7 +17279,7 @@ $as_echo "$MAGICKPP_LIBS" >&6; }
   if test $succeeded = yes; then
 
 		with_magickpp="yes"
-                 if true; then
+		 if true; then
   HAVE_LIBMAGICKPP_TRUE=
   HAVE_LIBMAGICKPP_FALSE='#'
 else
@@ -17211,10 +17290,10 @@ fi
 
   else
 
-                with_magickpp="no"
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result:  *** Magick++ Output target disabled" >&5
+		with_magickpp="no"
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result:  *** Magick++ Output target disabled" >&5
 $as_echo " *** Magick++ Output target disabled" >&6; }
-                 if false; then
+		 if false; then
   HAVE_LIBMAGICKPP_TRUE=
   HAVE_LIBMAGICKPP_FALSE='#'
 else
@@ -17241,17 +17320,7 @@ else
 
 fi
 
-if test $with_ffmpeg = "no" ; then {
-	 if false; then
-  WITH_FFMPEG_TRUE=
-  WITH_FFMPEG_FALSE='#'
-else
-  WITH_FFMPEG_TRUE='#'
-  WITH_FFMPEG_FALSE=
-fi
-
-} else {
-	 if true; then
+ if test $with_ffmpeg = yes; then
   WITH_FFMPEG_TRUE=
   WITH_FFMPEG_FALSE='#'
 else
@@ -17259,7 +17328,6 @@ else
   WITH_FFMPEG_FALSE=
 fi
 
-} ; fi
 
 
 
@@ -17313,17 +17381,7 @@ else
 
 fi
 
-if test $with_libdv = "no" ; then {
-	 if false; then
-  WITH_LIBDV_TRUE=
-  WITH_LIBDV_FALSE='#'
-else
-  WITH_LIBDV_TRUE='#'
-  WITH_LIBDV_FALSE=
-fi
-
-} else {
-	 if true; then
+ if test $with_libdv = yes; then
   WITH_LIBDV_TRUE=
   WITH_LIBDV_FALSE='#'
 else
@@ -17331,7 +17389,6 @@ else
   WITH_LIBDV_FALSE=
 fi
 
-} ; fi
 
 
 
@@ -17634,7 +17691,7 @@ done
 
 		CPPFLAGS="${ac_save_CPPFLAGS}"
 		CFLAGS="${ac_save_CFLAGS}"
-    	} else {
+	} else {
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for img_convert in -lavcodec" >&5
 $as_echo_n "checking for img_convert in -lavcodec... " >&6; }
 if ${ac_cv_lib_avcodec_img_convert+:} false; then :
@@ -17911,18 +17968,7 @@ $as_echo "$FREETYPE_LIBS" >&6; }
   fi
 
 } ; fi
-
-if test $with_freetype = "no" ; then {
-	 if false; then
-  WITH_FREETYPE_TRUE=
-  WITH_FREETYPE_FALSE='#'
-else
-  WITH_FREETYPE_TRUE='#'
-  WITH_FREETYPE_FALSE=
-fi
-
-} else {
-	 if true; then
+ if test $with_freetype = yes; then
   WITH_FREETYPE_TRUE=
   WITH_FREETYPE_FALSE='#'
 else
@@ -17930,7 +17976,6 @@ else
   WITH_FREETYPE_FALSE=
 fi
 
-} ; fi
 
 
 # FONTCONFIG CHECK--------------------
@@ -18234,17 +18279,7 @@ else
 
 fi
 
-if test $with_jpeg = "no" ; then {
-	 if false; then
-  WITH_JPEG_TRUE=
-  WITH_JPEG_FALSE='#'
-else
-  WITH_JPEG_TRUE='#'
-  WITH_JPEG_FALSE=
-fi
-
-} else {
-	 if true; then
+ if test $with_jpeg = yes; then
   WITH_JPEG_TRUE=
   WITH_JPEG_FALSE='#'
 else
@@ -18252,7 +18287,6 @@ else
   WITH_JPEG_FALSE=
 fi
 
-} ; fi
 
 
 
@@ -19340,7 +19374,7 @@ eval "LTDLOPEN=\"$libname_spec\""
 
 
 # Languages list (alphabetical order, please!)
-ALL_LINGUAS="ca cs da de el_GR en_GB es eu eu_ES fa_IR fr hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sv_SE tr zh_CN"
+ALL_LINGUAS="ar bs ca cs da de el_GR en_GB es eu eu_ES fa_IR fr gl he hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sr_RS sv_SE tr uz at Latn zh-Hant zh_CN zh_TW"
 
 
 mkdir_p="$MKDIR_P"
@@ -21061,23 +21095,23 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETL >= 0.04.17" >&5
-$as_echo_n "checking for ETL >= 0.04.17... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETL >= 0.04.18-RC5" >&5
+$as_echo_n "checking for ETL >= 0.04.18-RC5... " >&6; }
 
-        if $PKG_CONFIG --exists "ETL >= 0.04.17" ; then
+        if $PKG_CONFIG --exists "ETL >= 0.04.18-RC5" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking ETL_CFLAGS" >&5
 $as_echo_n "checking ETL_CFLAGS... " >&6; }
-            ETL_CFLAGS=`$PKG_CONFIG --cflags "ETL >= 0.04.17"`
+            ETL_CFLAGS=`$PKG_CONFIG --cflags "ETL >= 0.04.18-RC5"`
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETL_CFLAGS" >&5
 $as_echo "$ETL_CFLAGS" >&6; }
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking ETL_LIBS" >&5
 $as_echo_n "checking ETL_LIBS... " >&6; }
-            ETL_LIBS=`$PKG_CONFIG --libs "ETL >= 0.04.17"`
+            ETL_LIBS=`$PKG_CONFIG --libs "ETL >= 0.04.18-RC5"`
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETL_LIBS" >&5
 $as_echo "$ETL_LIBS" >&6; }
         else
@@ -21085,7 +21119,7 @@ $as_echo "$ETL_LIBS" >&6; }
             ETL_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            ETL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ETL >= 0.04.17"`
+            ETL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ETL >= 0.04.18-RC5"`
 
         fi
 
@@ -21101,12 +21135,26 @@ $as_echo "$ETL_LIBS" >&6; }
      :
   else
 
-	as_fn_error $? " ** You need to install the ETL (version 0.04.17 or greater)." "$LINENO" 5
+	as_fn_error $? " ** You need to install the ETL (version 0.04.18-RC5 or greater)." "$LINENO" 5
 
   fi
 
 CONFIG_DEPS="$CONFIG_DEPS ETL"
 
+ac_fn_cxx_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_zlib_h" = xyes; then :
+
+	LIBZ_LIBS="-lz"
+
+
+else
+
+	as_fn_error $? " ** You need to install zlib" "$LINENO" 5
+
+fi
+
+
+
 
 
   succeeded=no
@@ -21163,31 +21211,31 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml++-2.6" >&5
-$as_echo_n "checking for libxml++-2.6... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glibmm-2.4 >= 2.24.2" >&5
+$as_echo_n "checking for glibmm-2.4 >= 2.24.2... " >&6; }
 
-        if $PKG_CONFIG --exists "libxml++-2.6" ; then
+        if $PKG_CONFIG --exists "glibmm-2.4 >= 2.24.2" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_CFLAGS" >&5
-$as_echo_n "checking LIBXMLPP_CFLAGS... " >&6; }
-            LIBXMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-2.6"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_CFLAGS" >&5
-$as_echo "$LIBXMLPP_CFLAGS" >&6; }
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_LIBS" >&5
-$as_echo_n "checking LIBXMLPP_LIBS... " >&6; }
-            LIBXMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-2.6"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_LIBS" >&5
-$as_echo "$LIBXMLPP_LIBS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking GLIBMM_CFLAGS" >&5
+$as_echo_n "checking GLIBMM_CFLAGS... " >&6; }
+            GLIBMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= 2.24.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIBMM_CFLAGS" >&5
+$as_echo "$GLIBMM_CFLAGS" >&6; }
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking GLIBMM_LIBS" >&5
+$as_echo_n "checking GLIBMM_LIBS... " >&6; }
+            GLIBMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= 2.24.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIBMM_LIBS" >&5
+$as_echo "$GLIBMM_LIBS" >&6; }
         else
-            LIBXMLPP_CFLAGS=""
-            LIBXMLPP_LIBS=""
+            GLIBMM_CFLAGS=""
+            GLIBMM_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            LIBXMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-2.6"`
+            GLIBMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= 2.24.2"`
 
         fi
 
@@ -21201,10 +21249,15 @@ $as_echo "$LIBXMLPP_LIBS" >&6; }
 
   if test $succeeded = yes; then
 
-	CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
+	CONFIG_DEPS="$CONFIG_DEPS glibmm-2.4"
 
   else
 
+	as_fn_error $? " ** You need to install glibmm-2.4 version 2.24.2 or higher." "$LINENO" 5
+
+  fi
+
+
 
   succeeded=no
 
@@ -21260,31 +21313,31 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml++-1.0" >&5
-$as_echo_n "checking for libxml++-1.0... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for giomm-2.4 >= 2.18.2" >&5
+$as_echo_n "checking for giomm-2.4 >= 2.18.2... " >&6; }
 
-        if $PKG_CONFIG --exists "libxml++-1.0" ; then
+        if $PKG_CONFIG --exists "giomm-2.4 >= 2.18.2" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_CFLAGS" >&5
-$as_echo_n "checking LIBXMLPP_CFLAGS... " >&6; }
-            LIBXMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-1.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_CFLAGS" >&5
-$as_echo "$LIBXMLPP_CFLAGS" >&6; }
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_LIBS" >&5
-$as_echo_n "checking LIBXMLPP_LIBS... " >&6; }
-            LIBXMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-1.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_LIBS" >&5
-$as_echo "$LIBXMLPP_LIBS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIOMM_CFLAGS" >&5
+$as_echo_n "checking GIOMM_CFLAGS... " >&6; }
+            GIOMM_CFLAGS=`$PKG_CONFIG --cflags "giomm-2.4 >= 2.18.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIOMM_CFLAGS" >&5
+$as_echo "$GIOMM_CFLAGS" >&6; }
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIOMM_LIBS" >&5
+$as_echo_n "checking GIOMM_LIBS... " >&6; }
+            GIOMM_LIBS=`$PKG_CONFIG --libs "giomm-2.4 >= 2.18.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIOMM_LIBS" >&5
+$as_echo "$GIOMM_LIBS" >&6; }
         else
-            LIBXMLPP_CFLAGS=""
-            LIBXMLPP_LIBS=""
+            GIOMM_CFLAGS=""
+            GIOMM_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            LIBXMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-1.0"`
+            GIOMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "giomm-2.4 >= 2.18.2"`
 
         fi
 
@@ -21298,14 +21351,11 @@ $as_echo "$LIBXMLPP_LIBS" >&6; }
 
   if test $succeeded = yes; then
 
-		CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
+	CONFIG_DEPS="$CONFIG_DEPS giomm-2.4"
 
   else
 
-		as_fn_error $? " ** You need to install libxml++, either verison 2.6 or 1.0." "$LINENO" 5
-
-  fi
-
+	as_fn_error $? " ** You need to install giomm-2.4 version 2.18.2 or higher." "$LINENO" 5
 
   fi
 
@@ -21365,31 +21415,31 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigc++-2.0" >&5
-$as_echo_n "checking for sigc++-2.0... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml++-2.6" >&5
+$as_echo_n "checking for libxml++-2.6... " >&6; }
 
-        if $PKG_CONFIG --exists "sigc++-2.0" ; then
+        if $PKG_CONFIG --exists "libxml++-2.6" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBSIGC_CFLAGS" >&5
-$as_echo_n "checking LIBSIGC_CFLAGS... " >&6; }
-            LIBSIGC_CFLAGS=`$PKG_CONFIG --cflags "sigc++-2.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGC_CFLAGS" >&5
-$as_echo "$LIBSIGC_CFLAGS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_CFLAGS" >&5
+$as_echo_n "checking LIBXMLPP_CFLAGS... " >&6; }
+            LIBXMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-2.6"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_CFLAGS" >&5
+$as_echo "$LIBXMLPP_CFLAGS" >&6; }
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBSIGC_LIBS" >&5
-$as_echo_n "checking LIBSIGC_LIBS... " >&6; }
-            LIBSIGC_LIBS=`$PKG_CONFIG --libs "sigc++-2.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGC_LIBS" >&5
-$as_echo "$LIBSIGC_LIBS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_LIBS" >&5
+$as_echo_n "checking LIBXMLPP_LIBS... " >&6; }
+            LIBXMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-2.6"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_LIBS" >&5
+$as_echo "$LIBXMLPP_LIBS" >&6; }
         else
-            LIBSIGC_CFLAGS=""
-            LIBSIGC_LIBS=""
+            LIBXMLPP_CFLAGS=""
+            LIBXMLPP_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            LIBSIGC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sigc++-2.0"`
+            LIBXMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-2.6"`
 
         fi
 
@@ -21402,15 +21452,10 @@ $as_echo "$LIBSIGC_LIBS" >&6; }
   fi
 
   if test $succeeded = yes; then
-     :
-  else
-
-	as_fn_error $? " ** libsigc++-2.0 not found. It is required. You should really install it." "$LINENO" 5
 
-  fi
-
-CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
+	CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
 
+  else
 
 
   succeeded=no
@@ -21467,31 +21512,31 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo >= 1.12.0" >&5
-$as_echo_n "checking for cairo >= 1.12.0... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml++-1.0" >&5
+$as_echo_n "checking for libxml++-1.0... " >&6; }
 
-        if $PKG_CONFIG --exists "cairo >= 1.12.0" ; then
+        if $PKG_CONFIG --exists "libxml++-1.0" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBCAIRO_CFLAGS" >&5
-$as_echo_n "checking LIBCAIRO_CFLAGS... " >&6; }
-            LIBCAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.12.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBCAIRO_CFLAGS" >&5
-$as_echo "$LIBCAIRO_CFLAGS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_CFLAGS" >&5
+$as_echo_n "checking LIBXMLPP_CFLAGS... " >&6; }
+            LIBXMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-1.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_CFLAGS" >&5
+$as_echo "$LIBXMLPP_CFLAGS" >&6; }
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBCAIRO_LIBS" >&5
-$as_echo_n "checking LIBCAIRO_LIBS... " >&6; }
-            LIBCAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.12.0"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBCAIRO_LIBS" >&5
-$as_echo "$LIBCAIRO_LIBS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXMLPP_LIBS" >&5
+$as_echo_n "checking LIBXMLPP_LIBS... " >&6; }
+            LIBXMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-1.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXMLPP_LIBS" >&5
+$as_echo "$LIBXMLPP_LIBS" >&6; }
         else
-            LIBCAIRO_CFLAGS=""
-            LIBCAIRO_LIBS=""
+            LIBXMLPP_CFLAGS=""
+            LIBXMLPP_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            LIBCAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.12.0"`
+            LIBXMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-1.0"`
 
         fi
 
@@ -21505,11 +21550,14 @@ $as_echo "$LIBCAIRO_LIBS" >&6; }
 
   if test $succeeded = yes; then
 
-	CONFIG_DEPS="$CONFIG_DEPS cairo"
+		CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
 
   else
 
-	as_fn_error $? " ** You need to install cairo verison 1.12.0 or higher." "$LINENO" 5
+		as_fn_error $? " ** You need to install libxml++, either version 2.6 or 1.0." "$LINENO" 5
+
+  fi
+
 
   fi
 
@@ -21569,31 +21617,31 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango pangocairo" >&5
-$as_echo_n "checking for pango pangocairo... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigc++-2.0" >&5
+$as_echo_n "checking for sigc++-2.0... " >&6; }
 
-        if $PKG_CONFIG --exists "pango pangocairo" ; then
+        if $PKG_CONFIG --exists "sigc++-2.0" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBPANGO_CFLAGS" >&5
-$as_echo_n "checking LIBPANGO_CFLAGS... " >&6; }
-            LIBPANGO_CFLAGS=`$PKG_CONFIG --cflags "pango pangocairo"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPANGO_CFLAGS" >&5
-$as_echo "$LIBPANGO_CFLAGS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBSIGC_CFLAGS" >&5
+$as_echo_n "checking LIBSIGC_CFLAGS... " >&6; }
+            LIBSIGC_CFLAGS=`$PKG_CONFIG --cflags "sigc++-2.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGC_CFLAGS" >&5
+$as_echo "$LIBSIGC_CFLAGS" >&6; }
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBPANGO_LIBS" >&5
-$as_echo_n "checking LIBPANGO_LIBS... " >&6; }
-            LIBPANGO_LIBS=`$PKG_CONFIG --libs "pango pangocairo"`
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPANGO_LIBS" >&5
-$as_echo "$LIBPANGO_LIBS" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBSIGC_LIBS" >&5
+$as_echo_n "checking LIBSIGC_LIBS... " >&6; }
+            LIBSIGC_LIBS=`$PKG_CONFIG --libs "sigc++-2.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGC_LIBS" >&5
+$as_echo "$LIBSIGC_LIBS" >&6; }
         else
-            LIBPANGO_CFLAGS=""
-            LIBPANGO_LIBS=""
+            LIBSIGC_CFLAGS=""
+            LIBSIGC_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            LIBPANGO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pango pangocairo"`
+            LIBSIGC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sigc++-2.0"`
 
         fi
 
@@ -21606,296 +21654,1314 @@ $as_echo "$LIBPANGO_LIBS" >&6; }
   fi
 
   if test $succeeded = yes; then
-
-	CONFIG_DEPS="$CONFIG_DEPS pango pangocairo"
-
+     :
   else
 
-	as_fn_error $? " ** You need to install pango" "$LINENO" 5
+	as_fn_error $? " ** libsigc++-2.0 not found. It is required. You should really install it." "$LINENO" 5
 
   fi
 
+CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
 
 
+  succeeded=no
 
-# Check whether --with-boost was given.
-if test "${with_boost+set}" = set; then :
-  withval=$with_boost;
-    if test "$withval" = "no"; then
-        want_boost="no"
-    elif test "$withval" = "yes"; then
-        want_boost="yes"
-        ac_boost_path=""
-    else
-        want_boost="yes"
-        ac_boost_path="$withval"
-    fi
+  if test -z "$PKG_CONFIG"; then
+    # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
 else
-  want_boost="yes"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+  fi
 
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo >= 1.12.0" >&5
+$as_echo_n "checking for cairo >= 1.12.0... " >&6; }
 
-# Check whether --with-boost-libdir was given.
-if test "${with_boost_libdir+set}" = set; then :
-  withval=$with_boost_libdir;
-        if test -d "$withval"
-        then
-                ac_boost_lib_path="$withval"
-        else
-                as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5
-        fi
-
-else
-  ac_boost_lib_path=""
+        if $PKG_CONFIG --exists "cairo >= 1.12.0" ; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+            succeeded=yes
 
-fi
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBCAIRO_CFLAGS" >&5
+$as_echo_n "checking LIBCAIRO_CFLAGS... " >&6; }
+            LIBCAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.12.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBCAIRO_CFLAGS" >&5
+$as_echo "$LIBCAIRO_CFLAGS" >&6; }
 
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBCAIRO_LIBS" >&5
+$as_echo_n "checking LIBCAIRO_LIBS... " >&6; }
+            LIBCAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.12.0"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBCAIRO_LIBS" >&5
+$as_echo "$LIBCAIRO_LIBS" >&6; }
+        else
+            LIBCAIRO_CFLAGS=""
+            LIBCAIRO_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but
+            ## do set a variable so people can do so.
+            LIBCAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.12.0"`
 
-if test "x$want_boost" = "xyes"; then
-    boost_lib_version_req=1.32.0
-    boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'`
-    boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'`
-    boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'`
-    boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
-    if test "x$boost_lib_version_req_sub_minor" = "x" ; then
-        boost_lib_version_req_sub_minor="0"
         fi
-    WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+  $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5
-$as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; }
-    succeeded=no
-
-                        libsubdirs="lib"
-    ax_arch=`uname -m`
-    case $ax_arch in
-      x86_64|ppc64|s390x|sparc64|aarch64)
-        libsubdirs="lib64 lib lib64"
-        ;;
-    esac
 
-                if test "$ac_boost_path" != ""; then
-        BOOST_CPPFLAGS="-I$ac_boost_path/include"
-        for ac_boost_path_tmp in $libsubdirs; do
-                if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
-                        BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
-                        break
-                fi
-        done
-    elif test "$cross_compiling" != yes; then
-        for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
-            if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
-                for libsubdir in $libsubdirs ; do
-                    if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
-                done
-                BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
-                BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
-                break;
-            fi
-        done
-    fi
 
-            if test "$ac_boost_lib_path" != ""; then
-       BOOST_LDFLAGS="-L$ac_boost_lib_path"
-    fi
 
-    CPPFLAGS_SAVED="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
-    export CPPFLAGS
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
 
-    LDFLAGS_SAVED="$LDFLAGS"
-    LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
-    export LDFLAGS
+  if test $succeeded = yes; then
 
+	CONFIG_DEPS="$CONFIG_DEPS cairo"
 
-    ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+  else
 
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+	as_fn_error $? " ** You need to install cairo version 1.12.0 or higher." "$LINENO" 5
 
-    #include <boost/version.hpp>
+  fi
 
-int
-main ()
-{
 
-    #if BOOST_VERSION >= $WANT_BOOST_VERSION
-    // Everything is okay
-    #else
-    #  error Boost version is too old
-    #endif
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
+  succeeded=no
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    succeeded=yes
-    found_system=yes
+  if test -z "$PKG_CONFIG"; then
+    # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
+  fi
 
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango pangocairo" >&5
+$as_echo_n "checking for pango pangocairo... " >&6; }
+
+        if $PKG_CONFIG --exists "pango pangocairo" ; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+            succeeded=yes
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBPANGO_CFLAGS" >&5
+$as_echo_n "checking LIBPANGO_CFLAGS... " >&6; }
+            LIBPANGO_CFLAGS=`$PKG_CONFIG --cflags "pango pangocairo"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPANGO_CFLAGS" >&5
+$as_echo "$LIBPANGO_CFLAGS" >&6; }
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBPANGO_LIBS" >&5
+$as_echo_n "checking LIBPANGO_LIBS... " >&6; }
+            LIBPANGO_LIBS=`$PKG_CONFIG --libs "pango pangocairo"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPANGO_LIBS" >&5
+$as_echo "$LIBPANGO_LIBS" >&6; }
+        else
+            LIBPANGO_CFLAGS=""
+            LIBPANGO_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but
+            ## do set a variable so people can do so.
+            LIBPANGO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pango pangocairo"`
+
+        fi
+
+
+
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
+
+  if test $succeeded = yes; then
+
+	CONFIG_DEPS="$CONFIG_DEPS pango pangocairo"
+
+  else
+
+	as_fn_error $? " ** You need to install pango" "$LINENO" 5
+
+  fi
+
+
+
+  succeeded=no
+
+  if test -z "$PKG_CONFIG"; then
+    # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mlt++" >&5
+$as_echo_n "checking for mlt++... " >&6; }
+
+        if $PKG_CONFIG --exists "mlt++" ; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+            succeeded=yes
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking MLTPP_CFLAGS" >&5
+$as_echo_n "checking MLTPP_CFLAGS... " >&6; }
+            MLTPP_CFLAGS=`$PKG_CONFIG --cflags "mlt++"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MLTPP_CFLAGS" >&5
+$as_echo "$MLTPP_CFLAGS" >&6; }
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking MLTPP_LIBS" >&5
+$as_echo_n "checking MLTPP_LIBS... " >&6; }
+            MLTPP_LIBS=`$PKG_CONFIG --libs "mlt++"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MLTPP_LIBS" >&5
+$as_echo "$MLTPP_LIBS" >&6; }
+        else
+            MLTPP_CFLAGS=""
+            MLTPP_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but
+            ## do set a variable so people can do so.
+            MLTPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mlt++"`
+
+        fi
+
+
+
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
+
+  if test $succeeded = yes; then
+     :
+  else
+
+	as_fn_error $? " ** You need to install mlt++." "$LINENO" 5
+
+  fi
+
+CONFIG_DEPS="$CONFIG_DEPS mlt++"
+
+
+
+# Check whether --with-boost was given.
+if test "${with_boost+set}" = set; then :
+  withval=$with_boost;
+    if test "$withval" = "no"; then
+        want_boost="no"
+    elif test "$withval" = "yes"; then
+        want_boost="yes"
+        ac_boost_path=""
+    else
+        want_boost="yes"
+        ac_boost_path="$withval"
+    fi
+
+else
+  want_boost="yes"
+fi
+
+
+
+
+# Check whether --with-boost-libdir was given.
+if test "${with_boost_libdir+set}" = set; then :
+  withval=$with_boost_libdir;
+        if test -d "$withval"
+        then
+                ac_boost_lib_path="$withval"
+        else
+                as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5
+        fi
+
+else
+  ac_boost_lib_path=""
+
+fi
+
+
+if test "x$want_boost" = "xyes"; then
+    boost_lib_version_req=1.53.0
+    boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'`
+    boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'`
+    boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'`
+    boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+    if test "x$boost_lib_version_req_sub_minor" = "x" ; then
+        boost_lib_version_req_sub_minor="0"
+        fi
+    WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+  $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5
+$as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; }
+    succeeded=no
+
+                        libsubdirs="lib"
+    ax_arch=`uname -m`
+    case $ax_arch in
+      x86_64|ppc64|s390x|sparc64|aarch64)
+        libsubdirs="lib64 lib lib64"
+        ;;
+    esac
+
+                if test "$ac_boost_path" != ""; then
+        BOOST_CPPFLAGS="-I$ac_boost_path/include"
+        for ac_boost_path_tmp in $libsubdirs; do
+                if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
+                        BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
+                        break
+                fi
+        done
+    elif test "$cross_compiling" != yes; then
+        for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
+            if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
+                for libsubdir in $libsubdirs ; do
+                    if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
+                done
+                BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
+                BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
+                break;
+            fi
+        done
+    fi
+
+            if test "$ac_boost_lib_path" != ""; then
+       BOOST_LDFLAGS="-L$ac_boost_lib_path"
+    fi
+
+    CPPFLAGS_SAVED="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+    export CPPFLAGS
+
+    LDFLAGS_SAVED="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+    export LDFLAGS
+
+
+    ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+    #include <boost/version.hpp>
+
+int
+main ()
+{
+
+    #if BOOST_VERSION >= $WANT_BOOST_VERSION
+    // Everything is okay
+    #else
+    #  error Boost version is too old
+    #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    succeeded=yes
+    found_system=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+            if test "x$succeeded" != "xyes"; then
+        _version=0
+        if test "$ac_boost_path" != ""; then
+            if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+                for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+                    _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+                    V_CHECK=`expr $_version_tmp \> $_version`
+                    if test "$V_CHECK" = "1" ; then
+                        _version=$_version_tmp
+                    fi
+                    VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+                    BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
+                done
+            fi
+        else
+            if test "$cross_compiling" != yes; then
+                for ac_boost_path in /usr /usr/local /opt /opt/local ; do
+                    if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+                        for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+                            _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+                            V_CHECK=`expr $_version_tmp \> $_version`
+                            if test "$V_CHECK" = "1" ; then
+                                _version=$_version_tmp
+                                best_path=$ac_boost_path
+                            fi
+                        done
+                    fi
+                done
+
+                VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+                BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
+                if test "$ac_boost_lib_path" = ""; then
+                    for libsubdir in $libsubdirs ; do
+                        if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
+                    done
+                    BOOST_LDFLAGS="-L$best_path/$libsubdir"
+                fi
+            fi
+
+            if test "x$BOOST_ROOT" != "x"; then
+                for libsubdir in $libsubdirs ; do
+                    if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
+                done
+                if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
+                    version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
+                    stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
+                        stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'`
+                    V_CHECK=`expr $stage_version_shorten \>\= $_version`
+                    if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
+                        { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5
+$as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;}
+                        BOOST_CPPFLAGS="-I$BOOST_ROOT"
+                        BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
+                    fi
+                fi
+            fi
+        fi
+
+        CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+        export CPPFLAGS
+        LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+        export LDFLAGS
+
+        ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+        #include <boost/version.hpp>
+
+int
+main ()
+{
+
+        #if BOOST_VERSION >= $WANT_BOOST_VERSION
+        // Everything is okay
+        #else
+        #  error Boost version is too old
+        #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+        succeeded=yes
+        found_system=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+    fi
+
+    if test "$succeeded" != "yes" ; then
+        if test "$_version" = "0" ; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5
+$as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&6;}
+        else
+            { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5
+$as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;}
+        fi
+        # execute ACTION-IF-NOT-FOUND (if present):
+        as_fn_error $? " ** You need to install Boost >= 1.53.0" "$LINENO" 5
+    else
+
+
+
+$as_echo "#define HAVE_BOOST /**/" >>confdefs.h
+
+        # execute ACTION-IF-FOUND (if present):
+        :
+    fi
+
+    CPPFLAGS="$CPPFLAGS_SAVED"
+    LDFLAGS="$LDFLAGS_SAVED"
+fi
+
+
+
+
+# Check whether --with-boost-program-options was given.
+if test "${with_boost_program_options+set}" = set; then :
+  withval=$with_boost_program_options;
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_program_options_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_program_options_lib="$withval"
+		fi
+
+else
+  want_boost="yes"
+
+fi
+
+
+	if test "x$want_boost" = "xyes"; then
+
+	    export want_boost
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Program_Options library is available" >&5
+$as_echo_n "checking whether the Boost::Program_Options library is available... " >&6; }
+if ${ax_cv_boost_program_options+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+				cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <boost/program_options.hpp>
+
+int
+main ()
+{
+boost::program_options::options_description generic("Generic options");
+                                   return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_boost_program_options=yes
+else
+  ax_cv_boost_program_options=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+					ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_program_options" >&5
+$as_echo "$ax_cv_boost_program_options" >&6; }
+		if test "$ax_cv_boost_program_options" = yes; then
+
+$as_echo "#define HAVE_BOOST_PROGRAM_OPTIONS /**/" >>confdefs.h
+
+                  BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
+                if test "x$ax_boost_user_program_options_lib" = "x"; then
+                for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+else
+  link_program_options="no"
+fi
+
+				done
+                if test "x$link_program_options" != "xyes"; then
+                for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+else
+  link_program_options="no"
+fi
+
+				done
+                fi
+                else
+                  for ax_lib in $ax_boost_user_program_options_lib boost_program_options-$ax_boost_user_program_options_lib; do
+				      as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_main" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -l$ax_lib" >&5
+$as_echo_n "checking for main in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+else
+  link_program_options="no"
+fi
+
+                  done
+                fi
+            if test "x$ax_lib" = "x"; then
+                as_fn_error $? "Could not find a version of the library!" "$LINENO" 5
+            fi
+				if test "x$link_program_options" != "xyes"; then
+					as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
+				fi
+		fi
+		CPPFLAGS="$CPPFLAGS_SAVED"
+	LDFLAGS="$LDFLAGS_SAVED"
+	fi
+
+if test "x$ax_cv_boost_program_options" != "xyes" ; then
+	as_fn_error $? " ** You need to install Boost program-options library" "$LINENO" 5
+fi
+
+
+# Check whether --with-boost-system was given.
+if test "${with_boost_system+set}" = set; then :
+  withval=$with_boost_system;
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_system_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_system_lib="$withval"
+		fi
+
+else
+  want_boost="yes"
+
+fi
+
+
+	if test "x$want_boost" = "xyes"; then
+
+
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library is available" >&5
+$as_echo_n "checking whether the Boost::System library is available... " >&6; }
+if ${ax_cv_boost_system+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+			 CXXFLAGS_SAVE=$CXXFLAGS
+
+			 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <boost/system/error_code.hpp>
+int
+main ()
+{
+boost::system::system_category
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_boost_system=yes
+else
+  ax_cv_boost_system=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+			 CXXFLAGS=$CXXFLAGS_SAVE
+             ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-            if test "x$succeeded" != "xyes"; then
-        _version=0
-        if test "$ac_boost_path" != ""; then
-            if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
-                for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
-                    _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
-                    V_CHECK=`expr $_version_tmp \> $_version`
-                    if test "$V_CHECK" = "1" ; then
-                        _version=$_version_tmp
-                    fi
-                    VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
-                    BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
-                done
-            fi
-        else
-            if test "$cross_compiling" != yes; then
-                for ac_boost_path in /usr /usr/local /opt /opt/local ; do
-                    if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
-                        for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
-                            _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
-                            V_CHECK=`expr $_version_tmp \> $_version`
-                            if test "$V_CHECK" = "1" ; then
-                                _version=$_version_tmp
-                                best_path=$ac_boost_path
-                            fi
-                        done
-                    fi
-                done
 
-                VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
-                BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
-                if test "$ac_boost_lib_path" = ""; then
-                    for libsubdir in $libsubdirs ; do
-                        if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
-                    done
-                    BOOST_LDFLAGS="-L$best_path/$libsubdir"
-                fi
-            fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_system" >&5
+$as_echo "$ax_cv_boost_system" >&6; }
+		if test "x$ax_cv_boost_system" = "xyes"; then
 
-            if test "x$BOOST_ROOT" != "x"; then
-                for libsubdir in $libsubdirs ; do
-                    if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
-                done
-                if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
-                    version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
-                    stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
-                        stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'`
-                    V_CHECK=`expr $stage_version_shorten \>\= $_version`
-                    if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5
-$as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;}
-                        BOOST_CPPFLAGS="-I$BOOST_ROOT"
-                        BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
-                    fi
+
+
+$as_echo "#define HAVE_BOOST_SYSTEM /**/" >>confdefs.h
+
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
+
+			LDFLAGS_SAVE=$LDFLAGS
+            if test "x$ax_boost_user_system_lib" = "x"; then
+                for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_SYSTEM_LIB="-l$ax_lib";  link_system="yes"; break
+else
+  link_system="no"
+fi
+
+				done
+                if test "x$link_system" != "xyes"; then
+                for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_SYSTEM_LIB="-l$ax_lib";  link_system="yes"; break
+else
+  link_system="no"
+fi
+
+				done
                 fi
+
+            else
+               for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do
+				      as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_SYSTEM_LIB="-l$ax_lib";  link_system="yes"; break
+else
+  link_system="no"
+fi
+
+                  done
+
             fi
-        fi
+            if test "x$ax_lib" = "x"; then
+                as_fn_error $? "Could not find a version of the library!" "$LINENO" 5
+            fi
+			if test "x$link_system" = "xno"; then
+				as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
+			fi
+		fi
 
-        CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
-        export CPPFLAGS
-        LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
-        export LDFLAGS
+		CPPFLAGS="$CPPFLAGS_SAVED"
+	LDFLAGS="$LDFLAGS_SAVED"
+	fi
 
-        ac_ext=cpp
+if test "x$ax_cv_boost_system" != "xyes" ; then
+	as_fn_error $? " ** You need to install Boost system library" "$LINENO" 5
+fi
+
+
+# Check whether --with-boost-filesystem was given.
+if test "${with_boost_filesystem+set}" = set; then :
+  withval=$with_boost_filesystem;
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_filesystem_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_filesystem_lib="$withval"
+		fi
+
+else
+  want_boost="yes"
+
+fi
+
+
+	if test "x$want_boost" = "xyes"; then
+
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+
+		LIBS_SAVED=$LIBS
+		LIBS="$LIBS $BOOST_SYSTEM_LIB"
+		export LIBS
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Filesystem library is available" >&5
+$as_echo_n "checking whether the Boost::Filesystem library is available... " >&6; }
+if ${ax_cv_boost_filesystem+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <boost/filesystem/path.hpp>
+int
+main ()
+{
+using namespace boost::filesystem;
+                                   path my_path( "foo/bar/data.txt" );
+                                   return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_boost_filesystem=yes
+else
+  ax_cv_boost_filesystem=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+         ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-        #include <boost/version.hpp>
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_filesystem" >&5
+$as_echo "$ax_cv_boost_filesystem" >&6; }
+		if test "x$ax_cv_boost_filesystem" = "xyes"; then
+
+$as_echo "#define HAVE_BOOST_FILESYSTEM /**/" >>confdefs.h
+
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
+            if test "x$ax_boost_user_filesystem_lib" = "x"; then
+                for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
 int
 main ()
 {
-
-        #if BOOST_VERSION >= $WANT_BOOST_VERSION
-        // Everything is okay
-        #else
-        #  error Boost version is too old
-        #endif
-
+return exit ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_FILESYSTEM_LIB="-l$ax_lib";  link_filesystem="yes"; break
+else
+  link_filesystem="no"
+fi
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-        succeeded=yes
-        found_system=yes
+				done
+                if test "x$link_filesystem" != "xyes"; then
+                for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_FILESYSTEM_LIB="-l$ax_lib";  link_filesystem="yes"; break
+else
+  link_filesystem="no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-    fi
 
-    if test "$succeeded" != "yes" ; then
-        if test "$_version" = "0" ; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5
-$as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&6;}
-        else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5
-$as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;}
-        fi
-        # execute ACTION-IF-NOT-FOUND (if present):
-        :
-    else
+				done
+		    fi
+            else
+               for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do
+				      as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$ax_lib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
+int
+main ()
+{
+return exit ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  BOOST_FILESYSTEM_LIB="-l$ax_lib";  link_filesystem="yes"; break
+else
+  link_filesystem="no"
+fi
 
+                  done
 
-$as_echo "#define HAVE_BOOST /**/" >>confdefs.h
+            fi
+            if test "x$ax_lib" = "x"; then
+                as_fn_error $? "Could not find a version of the library!" "$LINENO" 5
+            fi
+			if test "x$link_filesystem" != "xyes"; then
+				as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
+			fi
+		fi
 
-        # execute ACTION-IF-FOUND (if present):
-        :
-    fi
+		CPPFLAGS="$CPPFLAGS_SAVED"
+		LDFLAGS="$LDFLAGS_SAVED"
+		LIBS="$LIBS_SAVED"
+	fi
 
-    CPPFLAGS="$CPPFLAGS_SAVED"
-    LDFLAGS="$LDFLAGS_SAVED"
+if test "x$ax_cv_boost_filesystem" != "xyes" ; then
+	as_fn_error $? " ** You need to install Boost filesystem library" "$LINENO" 5
 fi
 
 
-
-
-# Check whether --with-boost-program-options was given.
-if test "${with_boost_program_options+set}" = set; then :
-  withval=$with_boost_program_options;
+# Check whether --with-boost-chrono was given.
+if test "${with_boost_chrono+set}" = set; then :
+  withval=$with_boost_chrono;
         if test "$withval" = "no"; then
 			want_boost="no"
         elif test "$withval" = "yes"; then
             want_boost="yes"
-            ax_boost_user_program_options_lib=""
+            ax_boost_user_chrono_lib=""
         else
 		    want_boost="yes"
-		ax_boost_user_program_options_lib="$withval"
+		ax_boost_user_chrono_lib="$withval"
 		fi
 
 else
@@ -21906,16 +22972,18 @@ fi
 
 	if test "x$want_boost" = "xyes"; then
 
-	    export want_boost
+
 		CPPFLAGS_SAVED="$CPPFLAGS"
 		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
 		export CPPFLAGS
+
 		LDFLAGS_SAVED="$LDFLAGS"
 		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
 		export LDFLAGS
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Program_Options library is available" >&5
-$as_echo_n "checking whether the Boost::Program_Options library is available... " >&6; }
-if ${ax_cv_boost_program_options+:} false; then :
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Chrono library is available" >&5
+$as_echo_n "checking whether the Boost::Chrono library is available... " >&6; }
+if ${ax_cv_boost_chrono+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=cpp
@@ -21924,26 +22992,27 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-				cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <boost/program_options.hpp>
+			 CXXFLAGS_SAVE=$CXXFLAGS
 
+			 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <boost/chrono.hpp>
 int
 main ()
 {
-boost::program_options::options_description generic("Generic options");
-                                   return 0;
+boost::chrono::system_clock::time_point time;
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_boost_program_options=yes
+  ax_cv_boost_chrono=yes
 else
-  ax_cv_boost_program_options=no
+  ax_cv_boost_chrono=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-					ac_ext=cpp
+			 CXXFLAGS=$CXXFLAGS_SAVE
+             ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -21951,15 +23020,19 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_program_options" >&5
-$as_echo "$ax_cv_boost_program_options" >&6; }
-		if test "$ax_cv_boost_program_options" = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_chrono" >&5
+$as_echo "$ax_cv_boost_chrono" >&6; }
+		if test "x$ax_cv_boost_chrono" = "xyes"; then
 
-$as_echo "#define HAVE_BOOST_PROGRAM_OPTIONS /**/" >>confdefs.h
 
-                  BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
-                if test "x$ax_boost_user_program_options_lib" = "x"; then
-                for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do
+
+$as_echo "#define HAVE_BOOST_CHRONO /**/" >>confdefs.h
+
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
+
+			LDFLAGS_SAVE=$LDFLAGS
+            if test "x$ax_boost_user_chrono_lib" = "x"; then
+                for libextension in `ls $BOOSTLIBDIR/libboost_chrono*.so* $BOOSTLIBDIR/libboost_chrono*.dylib* $BOOSTLIBDIR/libboost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_chrono.*\)\.so.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.a.*$;\1;'` ; do
                      ax_lib=${libextension}
 				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
@@ -22000,14 +23073,14 @@ eval ac_res=\$$as_ac_Lib
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+  BOOST_CHRONO_LIB="-l$ax_lib";  link_chrono="yes"; break
 else
-  link_program_options="no"
+  link_chrono="no"
 fi
 
 				done
-                if test "x$link_program_options" != "xyes"; then
-                for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do
+                if test "x$link_chrono" != "xyes"; then
+                for libextension in `ls $BOOSTLIBDIR/boost_chrono*.dll* $BOOSTLIBDIR/boost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_chrono.*\)\.dll.*$;\1;' -e 's;^\(boost_chrono.*\)\.a.*$;\1;'` ; do
                      ax_lib=${libextension}
 				    as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
@@ -22048,18 +23121,19 @@ eval ac_res=\$$as_ac_Lib
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+  BOOST_CHRONO_LIB="-l$ax_lib";  link_chrono="yes"; break
 else
-  link_program_options="no"
+  link_chrono="no"
 fi
 
 				done
                 fi
-                else
-                  for ax_lib in $ax_boost_user_program_options_lib boost_program_options-$ax_boost_user_program_options_lib; do
-				      as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_main" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -l$ax_lib" >&5
-$as_echo_n "checking for main in -l$ax_lib... " >&6; }
+
+            else
+               for ax_lib in $ax_boost_user_chrono_lib boost_chrono-$ax_boost_user_chrono_lib; do
+				      as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5
+$as_echo_n "checking for exit in -l$ax_lib... " >&6; }
 if eval \${$as_ac_Lib+:} false; then :
   $as_echo_n "(cached) " >&6
 else
@@ -22068,11 +23142,17 @@ LIBS="-l$ax_lib  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char exit ();
 int
 main ()
 {
-return main ();
+return exit ();
   ;
   return 0;
 }
@@ -22090,30 +23170,32 @@ eval ac_res=\$$as_ac_Lib
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib";  link_program_options="yes"; break
+  BOOST_CHRONO_LIB="-l$ax_lib";  link_chrono="yes"; break
 else
-  link_program_options="no"
+  link_chrono="no"
 fi
 
                   done
-                fi
+
+            fi
             if test "x$ax_lib" = "x"; then
                 as_fn_error $? "Could not find a version of the library!" "$LINENO" 5
             fi
-				if test "x$link_program_options" != "xyes"; then
-					as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
-				fi
+			if test "x$link_chrono" = "xno"; then
+				as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
+			fi
 		fi
+
 		CPPFLAGS="$CPPFLAGS_SAVED"
 	LDFLAGS="$LDFLAGS_SAVED"
 	fi
 
-if test "x$ax_cv_boost_program_options" = "xno" ; then
-	as_fn_error $? " ** You need to install Boost program-options library" "$LINENO" 5
+if test "x$ax_cv_boost_chrono" != "xyes" ; then
+	as_fn_error $? " ** You need to install Boost chrono library" "$LINENO" 5
 fi
-# Boost Program Options is just a dependency of the synfig cli and so,
+# Boost program options, system and filesystem libraries are just dependencies
+# of the synfig cli and therefore
 # not required to link against the synfig library.
-#CONFIG_DEPS="$CONFIG_DEPS boost_program_options"
 
 
 TARGET_PNG="yes"
@@ -22865,7 +23947,6 @@ done
 
 # -- F U N C T I O N S ----------------------------------------
 
-
 for ac_func in fork
 do :
   ac_fn_cxx_check_func "$LINENO" "fork" "ac_cv_func_fork"
@@ -23064,8 +24145,8 @@ CONFIG_CFLAGS="$CONFIG_CFLAGS"
 
 
 
-SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
-SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
+SYNFIG_LIBS="$VIMAGE_LIBS $LIBZ_LIBS $GLIBMM_LIBS $GIOMM_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $MLTPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
+SYNFIG_CFLAGS="$BOOST_CPPFLAGS $LIBZ_CFLAGS $GLIBMM_CFLAGS $GIOMM_CFLAGS $LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $MLTPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
 
 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
@@ -23232,10 +24313,6 @@ if test -z "${WITH_IMAGEMAGICK_TRUE}" && test -z "${WITH_IMAGEMAGICK_FALSE}"; th
   as_fn_error $? "conditional \"WITH_IMAGEMAGICK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_IMAGEMAGICK_TRUE}" && test -z "${WITH_IMAGEMAGICK_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_IMAGEMAGICK\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${HAVE_LIBMAGICKPP_TRUE}" && test -z "${HAVE_LIBMAGICKPP_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_LIBMAGICKPP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23248,10 +24325,6 @@ if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
   as_fn_error $? "conditional \"WITH_FFMPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_FFMPEG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${WITH_VIMAGE_TRUE}" && test -z "${WITH_VIMAGE_FALSE}"; then
   as_fn_error $? "conditional \"WITH_VIMAGE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23264,10 +24337,6 @@ if test -z "${WITH_LIBDV_TRUE}" && test -z "${WITH_LIBDV_FALSE}"; then
   as_fn_error $? "conditional \"WITH_LIBDV\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_LIBDV_TRUE}" && test -z "${WITH_LIBDV_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_LIBDV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${WITH_LIBAVCODEC_TRUE}" && test -z "${WITH_LIBAVCODEC_FALSE}"; then
   as_fn_error $? "conditional \"WITH_LIBAVCODEC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23284,10 +24353,6 @@ if test -z "${WITH_FREETYPE_TRUE}" && test -z "${WITH_FREETYPE_FALSE}"; then
   as_fn_error $? "conditional \"WITH_FREETYPE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_FREETYPE_TRUE}" && test -z "${WITH_FREETYPE_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_FREETYPE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${WITH_FONTCONFIG_TRUE}" && test -z "${WITH_FONTCONFIG_FALSE}"; then
   as_fn_error $? "conditional \"WITH_FONTCONFIG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23308,10 +24373,6 @@ if test -z "${WITH_JPEG_TRUE}" && test -z "${WITH_JPEG_FALSE}"; then
   as_fn_error $? "conditional \"WITH_JPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${WITH_JPEG_TRUE}" && test -z "${WITH_JPEG_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_JPEG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then
   as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23810,7 +24871,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Synfig Core $as_me 0.64.2, which was
+This file was extended by Synfig Core $as_me 1.0-RC5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23876,7 +24937,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Synfig Core config.status 0.64.2
+Synfig Core config.status 1.0-RC5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -26249,6 +27310,9 @@ Using OpenEXR's \"half\" type ------> $use_openexr_half
 "'$'"CXX -----------------------------> '$CXX'
 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
+"'$'"LIBZ_LIBS -----------------------> '$LIBZ_LIBS'
+"'$'"GLIBMM_LIBS ---------------------> '$GLIBMM_LIBS'
+"'$'"GIOMM_LIBS ----------------------> '$GIOMM_LIBS'
 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
 "'$'"LIBCAIRO_LIBS -------------------> '$LIBCAIRO_LIBS'
 "'$'"LIBCAIROMM_LIBS -----------------> '$LIBCAIROMM_LIBS'
@@ -26259,5 +27323,8 @@ Using OpenEXR's \"half\" type ------> $use_openexr_half
 "'$'"BOOST_CPPFLAGS ------------------> '$BOOST_CPPFLAGS'
 "'$'"BOOST_LDFLAGS -------------------> '$BOOST_LDFLAGS'
 "'$'"BOOST_PROGRAM_OPTIONS_LIB -------> '$BOOST_PROGRAM_OPTIONS_LIB'
+"'$'"BOOST_SYSTEM_LIB ----------------> '$BOOST_SYSTEM_LIB'
+"'$'"BOOST_FILESYSTEM_LIB ------------> '$BOOST_FILESYSTEM_LIB'
+"'$'"BOOST_CHRONO_LIB ----------------> '$BOOST_CHRONO_LIB'
 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'
 "
diff --git a/configure.ac b/configure.ac
index 24f5840..3fede8c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,13 +2,12 @@
 
 # -- I N I T --------------------------------------------------
 
-AC_INIT([Synfig Core],[0.64.2],[http://www.synfig.org/issues/thebuggenie/synfig],[synfig])
+AC_INIT([Synfig Core],[1.0-RC5],[http://www.synfig.org/issues/thebuggenie/synfig],[synfig])
 AC_REVISION
 
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_HEADERS([config.h])
 AC_CANONICAL_HOST
-dnl AC_CANONICAL_TARGET
 
 AM_INIT_AUTOMAKE([nostdinc])
 AM_MAINTAINER_MODE
@@ -17,7 +16,7 @@ AC_LIBLTDL_CONVENIENCE
 AC_SUBST(INCLTDL)
 AC_SUBST(LIBLTDL)
 
-API_VERSION=0.0
+API_VERSION=1.0
 
 
 AC_DEFINE(LT_SCOPE,[extern],[LibLTDL is linked staticly])
@@ -55,10 +54,8 @@ AC_ARG_PROFILING
 AC_ARG_PROFILE_ARCS
 AC_ARG_BRANCH_PROBABILITIES
 
-AC_ARG_ENABLE(g5opt,[
-  --enable-g5opt           enable optimizations specific to G5 proc],[
-#	CXXFLAGS="$CXXFLAGS -fastf -fPIC"
-#	CFLAGS="$CFLAGS -fastf -fPIC"
+AC_ARG_ENABLE(g5opt,
+	AS_HELP_STRING(--enable-g5opt, [enable optimizations specific to G5 proc]),[
 	CXXFLAGS="$CXXFLAGS -mtune=G5 -falign-loops=32"
 	CFLAGS="$CFLAGS -mtune=G5"
 ],
@@ -66,20 +63,8 @@ AC_ARG_ENABLE(g5opt,[
 	true
 ])
 
-#MINGW_FLAGS="-mno-cygwin"
-
 AC_WIN32_QUIRKS
 
-# If we are in debug mode, use the debugging version of the
-# Microsoft Visual C Runtime Library
-#if [[ $debug = "yes" ]] ; then {
-#	WIN32_DEBUG_LIBRARY="msvcr70d"
-#	WIN32_DEBUG_LIBRARY="msvcrtd"
-#	LIBTOOL_PATCH_SED="$LIBTOOL_PATCH_SED
-#		s/-lmsvcrt/-l$WIN32_DEBUG_LIBRARY/g;
-#	";
-#} ; fi
-
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_DISABLE_STATIC
@@ -88,16 +73,6 @@ AC_PROG_LIBTOOL
 AC_SUBST(LIBTOOL_DEPS)
 AC_LIBTOOL_PATCH
 
-#if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
-#	printf "Patching libtool... "
-#	cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
-#	rm libtool
-#	mv libtool2 libtool
-#	chmod +x libtool
-#	AC_MSG_RESULT([patched])
-#} fi ;
-
-
 dnl
 dnl dynamic linker
 dnl
@@ -106,15 +81,15 @@ AC_CHECK_LIB(c, dlopen,
 	AC_CHECK_LIB(
 		dl,
 		dlopen,
-        DYNAMIC_LD_LIBS="-ldl",
-	    DYNAMIC_LD_LIBS=""
+		DYNAMIC_LD_LIBS="-ldl",
+		DYNAMIC_LD_LIBS=""
 	)
 )
 
 AC_SUBST(DYNAMIC_LD_LIBS)
 
-AC_ARG_ENABLE(half,[
-  --enable-half           Use OpenEXR's "half" type for color],[
+AC_ARG_ENABLE(half,
+	AS_HELP_STRING(--enable-half, [use OpenEXR "half" type for color]),[
 	use_openexr_half=$enableval
 ],
 [
@@ -123,8 +98,8 @@ AC_ARG_ENABLE(half,[
 
 
 
-AC_ARG_ENABLE(layer-profiling,[
-  --enable-layer-profiling       Enable layer profiling],[
+AC_ARG_ENABLE(layer-profiling,
+	AS_HELP_STRING(--enable-layer-profiling, [enable layer profiling]),[
 	use_layerprofiling=$enableval
 ],
 [
@@ -137,57 +112,49 @@ if test $use_layerprofiling = "yes" ; then {
 
 
 
-AC_ARG_WITH(imagemagick,[
-  --without-imagemagick   Disable support for ImageMagick],[
+AC_ARG_WITH(imagemagick,
+	AS_HELP_STRING(--without-imagemagick, [do not support ImageMagick]),[
 ],[
-    AC_CHECK_PROG([imagemagick_convert],[convert],[yes],[no])
-    with_imagemagick=$imagemagick_convert
+	AC_CHECK_PROG([imagemagick_convert],[convert],[yes],[no])
+	with_imagemagick=$imagemagick_convert
 ])
-if test $with_imagemagick = "no" ; then {
-	AM_CONDITIONAL(WITH_IMAGEMAGICK,false)
-} else {
-	AM_CONDITIONAL(WITH_IMAGEMAGICK,true)
-} ; fi
+AM_CONDITIONAL(WITH_IMAGEMAGICK, test $with_imagemagick = yes)
 
 
 
 
 
-AC_ARG_WITH(magickpp,[
-  --without-magickpp        Disable support for Magick++],[
+AC_ARG_WITH(magickpp,
+	AS_HELP_STRING(--without-magickpp, [do not support Magick++]),[
 ],[
 	with_magickpp="yes"
 ])
 if test $with_magickpp = "yes" ; then {
 	PKG_CHECK_MODULES(MAGICKPP, Magick++ >= 6.4.2,[
 		with_magickpp="yes"
-                AM_CONDITIONAL(HAVE_LIBMAGICKPP,true)
+		AM_CONDITIONAL(HAVE_LIBMAGICKPP,true)
 	],[
-                with_magickpp="no"
-                AC_MSG_RESULT([ *** Magick++ Output target disabled])
-                AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
+		with_magickpp="no"
+		AC_MSG_RESULT([ *** Magick++ Output target disabled])
+		AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
 	])
 } ; fi
 
 
 
 
-AC_ARG_WITH(ffmpeg,[
-  --without-ffmpeg        Disable support for FFMPEG],[
+AC_ARG_WITH(ffmpeg,
+	AS_HELP_STRING(--without-ffmpeg, [do not support FFMPEG]),[
 ],[
 	with_ffmpeg="yes"
 ])
-if test $with_ffmpeg = "no" ; then {
-	AM_CONDITIONAL(WITH_FFMPEG,false)
-} else {
-	AM_CONDITIONAL(WITH_FFMPEG,true)
-} ; fi
+AM_CONDITIONAL(WITH_FFMPEG, test $with_ffmpeg = yes)
 
 
 
 
-AC_ARG_WITH(vimage,[
-  --with-vimage        Enable support for apple vImage],[
+AC_ARG_WITH(vimage,
+	AS_HELP_STRING(--with-vimage, [support Apple vImage]),[
 ],[
 	with_vimage="no"
 ])
@@ -202,24 +169,20 @@ if test $with_vimage = "no" ; then {
 
 
 
-AC_ARG_WITH(libdv,[
-  --without-libdv         Disable support for libdv],[
+AC_ARG_WITH(libdv,
+	AS_HELP_STRING(--without-libdv, [do not support libdv]),[
 ],[
 	with_libdv="yes"
 ])
-if test $with_libdv = "no" ; then {
-	AM_CONDITIONAL(WITH_LIBDV,false)
-} else {
-	AM_CONDITIONAL(WITH_LIBDV,true)
-} ; fi
+AM_CONDITIONAL(WITH_LIBDV, test $with_libdv = yes)
 
 
 
 
 # LIBAVCODEC CHECK--------------------
 
-AC_ARG_WITH(libavcodec,[
-  --with-libavcodec         Enable support for libavcodec (Default=no)],[
+AC_ARG_WITH(libavcodec,
+	AS_HELP_STRING(--with-libavcodec, [support libavcodec (default=no)]),[
 ],[
 	with_libavcodec="no"
 ])
@@ -249,7 +212,7 @@ if test $with_libavcodec = "yes" ; then {
 
 	AC_ARG_WITH(libswscale,
 		[AS_HELP_STRING([--without-libswscale],
-			[disable support for libswscale (Default=auto)])],
+			[do not support libswscale (default=auto)])],
 		[],
 		[with_libswscale="yes"]
 	)
@@ -270,7 +233,7 @@ if test $with_libavcodec = "yes" ; then {
 		AC_CHECK_HEADERS(libswscale/swscale.h swscale.h ffmpeg/swscale.h)
 		CPPFLAGS="${ac_save_CPPFLAGS}"
 		CFLAGS="${ac_save_CFLAGS}"
-    	} else {
+	} else {
 		AC_CHECK_LIB(avcodec, img_convert,
 			[AC_MSG_RESULT([ *** Using deprecated function img_convert.])],
 			[AC_MSG_FAILURE([Neither libswscale nor function img_convert was found.])],
@@ -283,8 +246,8 @@ AM_CONDITIONAL(WITH_LIBSWSCALE, test "x$with_libswscale" = "xyes")
 
 # FREETYPE2 CHECK--------------------
 
-AC_ARG_WITH(freetype,[
-  --without-freetype         disable support for freetype (Default=auto)],[
+AC_ARG_WITH(freetype,
+	AS_HELP_STRING(--without-freetype, [do not support FreeType text rendering (default=auto)]),[
 ],[
 	with_freetype="yes"
 ])
@@ -300,18 +263,13 @@ if test $with_freetype != "no" ; then {
 		])
 	])
 } ; fi
-
-if test $with_freetype = "no" ; then {
-	AM_CONDITIONAL(WITH_FREETYPE,false)
-} else {
-	AM_CONDITIONAL(WITH_FREETYPE,true)
-} ; fi
+AM_CONDITIONAL(WITH_FREETYPE, test $with_freetype = yes)
 
 
 # FONTCONFIG CHECK--------------------
 
-AC_ARG_WITH(fontconfig,[
-  --without-fontconfig         disable support for fontconfig (Default=auto)],[
+AC_ARG_WITH(fontconfig,
+	AS_HELP_STRING(--without-fontconfig, [do not support fontconfig (default=auto)]),[
 ],[
 	with_fontconfig="yes"
 ])
@@ -333,8 +291,8 @@ if test $with_fontconfig = "yes" ; then {
 
 
 # OPENEXR CHECK------------------------
-AC_ARG_WITH(openexr,[
-  --without-openexr        Disable support for ILM's OpenEXR],[
+AC_ARG_WITH(openexr,
+	AS_HELP_STRING(--without-openexr, [do not support OpenEXR]),[
 ],[
 	with_openexr="yes"
 ])
@@ -362,16 +320,12 @@ if test $use_openexr_half = yes ; then {
 
 
 # JPEG CHECK (commandline switch) ------------------------
-AC_ARG_WITH(jpeg,[
-  --without-jpeg        Disable support for JPEG],[
+AC_ARG_WITH(jpeg,
+	AS_HELP_STRING(--without-jpeg, [do not support JPEG]),[
 ],[
 	with_jpeg="yes"
 ])
-if test $with_jpeg = "no" ; then {
-	AM_CONDITIONAL(WITH_JPEG,false)
-} else {
-	AM_CONDITIONAL(WITH_JPEG,true)
-} ; fi
+AM_CONDITIONAL(WITH_JPEG, test $with_jpeg = yes)
 
 
 
@@ -382,18 +336,37 @@ if test $with_jpeg = "no" ; then {
 AC_LIB_LTDL
 
 # Languages list (alphabetical order, please!)
-ALL_LINGUAS="ca cs da de el_GR en_GB es eu eu_ES fa_IR fr hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sv_SE tr zh_CN"
+ALL_LINGUAS="ar bs ca cs da de el_GR en_GB es eu eu_ES fa_IR fr gl he hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sr_RS sv_SE tr uz at Latn zh-Hant zh_CN zh_TW"
 
 AM_GNU_GETTEXT([external])
 # This is here so autoreconf will run autopoint
 AM_GNU_GETTEXT_VERSION([0.15])
 localedir="$datadir/locale"
 
-PKG_CHECK_MODULES(ETL, [ETL >= 0.04.17],,[
-	AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.17 or greater).])
+PKG_CHECK_MODULES(ETL, [ETL >= 0.04.18-RC5],,[
+	AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.18-RC5 or greater).])
 ])
 CONFIG_DEPS="$CONFIG_DEPS ETL"
 
+AC_CHECK_HEADER([zlib.h],[
+	LIBZ_LIBS="-lz"
+	AC_SUBST(LIBZ_LIBS)
+],[
+	AC_MSG_ERROR([ ** You need to install zlib])
+])
+
+
+PKG_CHECK_MODULES(GLIBMM, [glibmm-2.4 >= 2.24.2],[
+	CONFIG_DEPS="$CONFIG_DEPS glibmm-2.4"
+],[
+	AC_MSG_ERROR([ ** You need to install glibmm-2.4 version 2.24.2 or higher.])
+])
+
+PKG_CHECK_MODULES(GIOMM, [giomm-2.4 >= 2.18.2],[
+	CONFIG_DEPS="$CONFIG_DEPS giomm-2.4"
+],[
+	AC_MSG_ERROR([ ** You need to install giomm-2.4 version 2.18.2 or higher.])
+])
 
 PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
 	CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
@@ -401,24 +374,19 @@ PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
 	PKG_CHECK_MODULES(LIBXMLPP, libxml++-1.0,[
 		CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
 	],[
-		AC_MSG_ERROR([ ** You need to install libxml++, either verison 2.6 or 1.0.])
+		AC_MSG_ERROR([ ** You need to install libxml++, either version 2.6 or 1.0.])
 	])
 ])
 
 PKG_CHECK_MODULES(LIBSIGC, [sigc++-2.0],,[
 	AC_MSG_ERROR([ ** libsigc++-2.0 not found. It is required. You should really install it.])
-dnl	PKG_CHECK_MODULES(LIBSIGC, [sigc++-1.2],,[
-dnl		AC_MSG_ERROR([ ** At least libsigc++-1.2 is required.])
-dnl	])
 ])
 CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
 
-dnl PKG_CHECK_MODULES(GLIB, glib-2.0,[GLIB="yes"],[GLIB="no"])
-
 PKG_CHECK_MODULES(LIBCAIRO, [cairo >= 1.12.0],[
 	CONFIG_DEPS="$CONFIG_DEPS cairo"
 ],[
-	AC_MSG_ERROR([ ** You need to install cairo verison 1.12.0 or higher.])
+	AC_MSG_ERROR([ ** You need to install cairo version 1.12.0 or higher.])
 ])
 
 PKG_CHECK_MODULES(LIBPANGO, pango pangocairo,[
@@ -427,14 +395,31 @@ PKG_CHECK_MODULES(LIBPANGO, pango pangocairo,[
 	AC_MSG_ERROR([ ** You need to install pango])
 ])
 
-AX_BOOST_BASE([1.32.0])
+PKG_CHECK_MODULES(MLTPP, mlt++,,[
+	AC_MSG_ERROR([ ** You need to install mlt++.])
+])
+CONFIG_DEPS="$CONFIG_DEPS mlt++"
+
+AX_BOOST_BASE([1.53.0],,AC_MSG_ERROR([ ** You need to install Boost >= 1.53.0]))
 AX_BOOST_PROGRAM_OPTIONS
-if test "x$ax_cv_boost_program_options" = "xno" ; then
+if test "x$ax_cv_boost_program_options" != "xyes" ; then
 	AC_MSG_ERROR([ ** You need to install Boost program-options library])
 fi
-# Boost Program Options is just a dependency of the synfig cli and so,
+AX_BOOST_SYSTEM
+if test "x$ax_cv_boost_system" != "xyes" ; then
+	AC_MSG_ERROR([ ** You need to install Boost system library])
+fi
+AX_BOOST_FILESYSTEM
+if test "x$ax_cv_boost_filesystem" != "xyes" ; then
+	AC_MSG_ERROR([ ** You need to install Boost filesystem library])
+fi
+AX_BOOST_CHRONO
+if test "x$ax_cv_boost_chrono" != "xyes" ; then
+	AC_MSG_ERROR([ ** You need to install Boost chrono library])
+fi
+# Boost program options, system and filesystem libraries are just dependencies
+# of the synfig cli and therefore
 # not required to link against the synfig library.
-#CONFIG_DEPS="$CONFIG_DEPS boost_program_options"
 
 
 TARGET_PNG="yes"
@@ -622,10 +607,6 @@ AC_CHECK_HEADERS([process.h io.h fcntl.h])
 
 # -- F U N C T I O N S ----------------------------------------
 
-dnl AC_CHECK_FUNCS([floor pow sqrt],[],[
-dnl 	AC_MSG_ERROR([ ** Could not find proper math functions.])
-dnl ])
-
 AC_CHECK_FUNCS([fork])
 AC_CHECK_FUNCS([kill])
 AC_CHECK_FUNCS([pipe])
@@ -683,8 +664,8 @@ AC_SUBST(CONFIG_CFLAGS)
 AC_SUBST(CONFIG_DEPS)
 AC_SUBST(ETL_CFLAGS)
 
-SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
-SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
+SYNFIG_LIBS="$VIMAGE_LIBS $LIBZ_LIBS $GLIBMM_LIBS $GIOMM_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $MLTPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
+SYNFIG_CFLAGS="$BOOST_CPPFLAGS $LIBZ_CFLAGS $GLIBMM_CFLAGS $GIOMM_CFLAGS $LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $MLTPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
 
 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
@@ -777,6 +758,9 @@ Using OpenEXR's \"half\" type ------> $use_openexr_half
 "'$'"CXX -----------------------------> '$CXX'
 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
+"'$'"LIBZ_LIBS -----------------------> '$LIBZ_LIBS'
+"'$'"GLIBMM_LIBS ---------------------> '$GLIBMM_LIBS'
+"'$'"GIOMM_LIBS ----------------------> '$GIOMM_LIBS'
 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
 "'$'"LIBCAIRO_LIBS -------------------> '$LIBCAIRO_LIBS'
 "'$'"LIBCAIROMM_LIBS -----------------> '$LIBCAIROMM_LIBS'
@@ -787,5 +771,8 @@ Using OpenEXR's \"half\" type ------> $use_openexr_half
 "'$'"BOOST_CPPFLAGS ------------------> '$BOOST_CPPFLAGS'
 "'$'"BOOST_LDFLAGS -------------------> '$BOOST_LDFLAGS'
 "'$'"BOOST_PROGRAM_OPTIONS_LIB -------> '$BOOST_PROGRAM_OPTIONS_LIB'
+"'$'"BOOST_SYSTEM_LIB ----------------> '$BOOST_SYSTEM_LIB'
+"'$'"BOOST_FILESYSTEM_LIB ------------> '$BOOST_FILESYSTEM_LIB'
+"'$'"BOOST_CHRONO_LIB ----------------> '$BOOST_CHRONO_LIB'
 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'
 "
diff --git a/doxygen.cfg b/doxygen.cfg
index 34c4c46..7ad8b96 100644
--- a/doxygen.cfg
+++ b/doxygen.cfg
@@ -23,7 +23,7 @@ PROJECT_NAME           = synfig
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.64.2
+PROJECT_NUMBER         = 1.0-RC5
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 41dd470..514b760 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -82,7 +82,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -190,9 +193,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -224,6 +230,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -261,6 +271,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -278,6 +289,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/examples/walk/Makefile.in b/examples/walk/Makefile.in
index 436885e..820d35a 100644
--- a/examples/walk/Makefile.in
+++ b/examples/walk/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -82,7 +82,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -130,9 +133,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -164,6 +170,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -201,6 +211,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -218,6 +229,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/m4/ax_boost_chrono.m4 b/m4/ax_boost_chrono.m4
new file mode 100644
index 0000000..9b3958e
--- /dev/null
+++ b/m4/ax_boost_chrono.m4
@@ -0,0 +1,118 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_BOOST_CHRONO
+#
+# DESCRIPTION
+#
+#   Test for System library from the Boost C++ libraries. The macro requires
+#   a preceding call to AX_BOOST_BASE. Further documentation is available at
+#   <http://randspringer.de/boost/index.html>.
+#
+#   This macro calls:
+#
+#     AC_SUBST(BOOST_CHRONO_LIB)
+#
+#   And sets:
+#
+#     HAVE_BOOST_CHRONO
+#
+# LICENSE
+#
+#   Copyright (c) 2012 Xiyue Deng <manphiz at gmail.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 1
+
+AC_DEFUN([AX_BOOST_CHRONO],
+[
+	AC_ARG_WITH([boost-chrono],
+	AS_HELP_STRING([--with-boost-chrono@<:@=special-lib@:>@],
+                   [use the Chrono library from boost - it is possible to specify a certain library for the linker
+                        e.g. --with-boost-chrono=boost_chrono-gcc-mt ]),
+        [
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_chrono_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_chrono_lib="$withval"
+		fi
+        ],
+        [want_boost="yes"]
+	)
+
+	if test "x$want_boost" = "xyes"; then
+        AC_REQUIRE([AC_PROG_CC])
+        AC_REQUIRE([AC_CANONICAL_BUILD])
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+
+        AC_CACHE_CHECK(whether the Boost::Chrono library is available,
+					   ax_cv_boost_chrono,
+        [AC_LANG_PUSH([C++])
+			 CXXFLAGS_SAVE=$CXXFLAGS
+
+			 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/chrono.hpp>]],
+                                   [[boost::chrono::system_clock::time_point time;]])],
+                   ax_cv_boost_chrono=yes, ax_cv_boost_chrono=no)
+			 CXXFLAGS=$CXXFLAGS_SAVE
+             AC_LANG_POP([C++])
+		])
+		if test "x$ax_cv_boost_chrono" = "xyes"; then
+			AC_SUBST(BOOST_CPPFLAGS)
+
+			AC_DEFINE(HAVE_BOOST_CHRONO,,[define if the Boost::Chrono library is available])
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+
+			LDFLAGS_SAVE=$LDFLAGS
+            if test "x$ax_boost_user_chrono_lib" = "x"; then
+                for libextension in `ls $BOOSTLIBDIR/libboost_chrono*.so* $BOOSTLIBDIR/libboost_chrono*.dylib* $BOOSTLIBDIR/libboost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_chrono.*\)\.so.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.a.*$;\1;'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
+                                 [link_chrono="no"])
+				done
+                if test "x$link_chrono" != "xyes"; then
+                for libextension in `ls $BOOSTLIBDIR/boost_chrono*.dll* $BOOSTLIBDIR/boost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_chrono.*\)\.dll.*$;\1;' -e 's;^\(boost_chrono.*\)\.a.*$;\1;'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
+                                 [link_chrono="no"])
+				done
+                fi
+
+            else
+               for ax_lib in $ax_boost_user_chrono_lib boost_chrono-$ax_boost_user_chrono_lib; do
+				      AC_CHECK_LIB($ax_lib, exit,
+                                   [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
+                                   [link_chrono="no"])
+                  done
+
+            fi
+            if test "x$ax_lib" = "x"; then
+                AC_MSG_ERROR(Could not find a version of the library!)
+            fi
+			if test "x$link_chrono" = "xno"; then
+				AC_MSG_ERROR(Could not link against $ax_lib !)
+			fi
+		fi
+
+		CPPFLAGS="$CPPFLAGS_SAVED"
+	LDFLAGS="$LDFLAGS_SAVED"
+	fi
+])
diff --git a/m4/ax_boost_filesystem.m4 b/m4/ax_boost_filesystem.m4
new file mode 100644
index 0000000..f162163
--- /dev/null
+++ b/m4/ax_boost_filesystem.m4
@@ -0,0 +1,118 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_BOOST_FILESYSTEM
+#
+# DESCRIPTION
+#
+#   Test for Filesystem library from the Boost C++ libraries. The macro
+#   requires a preceding call to AX_BOOST_BASE. Further documentation is
+#   available at <http://randspringer.de/boost/index.html>.
+#
+#   This macro calls:
+#
+#     AC_SUBST(BOOST_FILESYSTEM_LIB)
+#
+#   And sets:
+#
+#     HAVE_BOOST_FILESYSTEM
+#
+# LICENSE
+#
+#   Copyright (c) 2009 Thomas Porschberg <thomas at randspringer.de>
+#   Copyright (c) 2009 Michael Tindal
+#   Copyright (c) 2009 Roman Rybalko <libtorrent at romanr.info>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 26
+
+AC_DEFUN([AX_BOOST_FILESYSTEM],
+[
+	AC_ARG_WITH([boost-filesystem],
+	AS_HELP_STRING([--with-boost-filesystem@<:@=special-lib@:>@],
+                   [use the Filesystem library from boost - it is possible to specify a certain library for the linker
+                        e.g. --with-boost-filesystem=boost_filesystem-gcc-mt ]),
+        [
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_filesystem_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_filesystem_lib="$withval"
+		fi
+        ],
+        [want_boost="yes"]
+	)
+
+	if test "x$want_boost" = "xyes"; then
+        AC_REQUIRE([AC_PROG_CC])
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+
+		LIBS_SAVED=$LIBS
+		LIBS="$LIBS $BOOST_SYSTEM_LIB"
+		export LIBS
+
+        AC_CACHE_CHECK(whether the Boost::Filesystem library is available,
+					   ax_cv_boost_filesystem,
+        [AC_LANG_PUSH([C++])
+         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/filesystem/path.hpp>]],
+                                   [[using namespace boost::filesystem;
+                                   path my_path( "foo/bar/data.txt" );
+                                   return 0;]])],
+					       ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no)
+         AC_LANG_POP([C++])
+		])
+		if test "x$ax_cv_boost_filesystem" = "xyes"; then
+			AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available])
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+            if test "x$ax_boost_user_filesystem_lib" = "x"; then
+                for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+                                 [link_filesystem="no"])
+				done
+                if test "x$link_filesystem" != "xyes"; then
+                for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+                                 [link_filesystem="no"])
+				done
+		    fi
+            else
+               for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do
+				      AC_CHECK_LIB($ax_lib, exit,
+                                   [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+                                   [link_filesystem="no"])
+                  done
+
+            fi
+            if test "x$ax_lib" = "x"; then
+                AC_MSG_ERROR(Could not find a version of the library!)
+            fi
+			if test "x$link_filesystem" != "xyes"; then
+				AC_MSG_ERROR(Could not link against $ax_lib !)
+			fi
+		fi
+
+		CPPFLAGS="$CPPFLAGS_SAVED"
+		LDFLAGS="$LDFLAGS_SAVED"
+		LIBS="$LIBS_SAVED"
+	fi
+])
diff --git a/m4/ax_boost_system.m4 b/m4/ax_boost_system.m4
new file mode 100644
index 0000000..c4c4555
--- /dev/null
+++ b/m4/ax_boost_system.m4
@@ -0,0 +1,120 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_boost_system.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_BOOST_SYSTEM
+#
+# DESCRIPTION
+#
+#   Test for System library from the Boost C++ libraries. The macro requires
+#   a preceding call to AX_BOOST_BASE. Further documentation is available at
+#   <http://randspringer.de/boost/index.html>.
+#
+#   This macro calls:
+#
+#     AC_SUBST(BOOST_SYSTEM_LIB)
+#
+#   And sets:
+#
+#     HAVE_BOOST_SYSTEM
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Thomas Porschberg <thomas at randspringer.de>
+#   Copyright (c) 2008 Michael Tindal
+#   Copyright (c) 2008 Daniel Casimiro <dan.casimiro at gmail.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 17
+
+AC_DEFUN([AX_BOOST_SYSTEM],
+[
+	AC_ARG_WITH([boost-system],
+	AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@],
+                   [use the System library from boost - it is possible to specify a certain library for the linker
+                        e.g. --with-boost-system=boost_system-gcc-mt ]),
+        [
+        if test "$withval" = "no"; then
+			want_boost="no"
+        elif test "$withval" = "yes"; then
+            want_boost="yes"
+            ax_boost_user_system_lib=""
+        else
+		    want_boost="yes"
+		ax_boost_user_system_lib="$withval"
+		fi
+        ],
+        [want_boost="yes"]
+	)
+
+	if test "x$want_boost" = "xyes"; then
+        AC_REQUIRE([AC_PROG_CC])
+        AC_REQUIRE([AC_CANONICAL_BUILD])
+		CPPFLAGS_SAVED="$CPPFLAGS"
+		CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+		export CPPFLAGS
+
+		LDFLAGS_SAVED="$LDFLAGS"
+		LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+		export LDFLAGS
+
+        AC_CACHE_CHECK(whether the Boost::System library is available,
+					   ax_cv_boost_system,
+        [AC_LANG_PUSH([C++])
+			 CXXFLAGS_SAVE=$CXXFLAGS
+
+			 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]],
+                                   [[boost::system::system_category]])],
+                   ax_cv_boost_system=yes, ax_cv_boost_system=no)
+			 CXXFLAGS=$CXXFLAGS_SAVE
+             AC_LANG_POP([C++])
+		])
+		if test "x$ax_cv_boost_system" = "xyes"; then
+			AC_SUBST(BOOST_CPPFLAGS)
+
+			AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available])
+            BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+
+			LDFLAGS_SAVE=$LDFLAGS
+            if test "x$ax_boost_user_system_lib" = "x"; then
+                for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+                                 [link_system="no"])
+				done
+                if test "x$link_system" != "xyes"; then
+                for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+                     ax_lib=${libextension}
+				    AC_CHECK_LIB($ax_lib, exit,
+                                 [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+                                 [link_system="no"])
+				done
+                fi
+
+            else
+               for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do
+				      AC_CHECK_LIB($ax_lib, exit,
+                                   [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+                                   [link_system="no"])
+                  done
+
+            fi
+            if test "x$ax_lib" = "x"; then
+                AC_MSG_ERROR(Could not find a version of the library!)
+            fi
+			if test "x$link_system" = "xno"; then
+				AC_MSG_ERROR(Could not link against $ax_lib !)
+			fi
+		fi
+
+		CPPFLAGS="$CPPFLAGS_SAVED"
+	LDFLAGS="$LDFLAGS_SAVED"
+	fi
+])
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e9e3477..bff8acd 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,11 +1,4 @@
 # FIXME: move libsynfig into a separate domain
-src/modules/mod_example/filledrect.cpp
-src/modules/mod_example/filledrect.h
-src/modules/mod_example/main.cpp
-src/modules/mod_example/metaballs.cpp
-src/modules/mod_example/metaballs.h
-src/modules/mod_example/simplecircle.cpp
-src/modules/mod_example/simplecircle.h
 src/modules/lyr_freetype/lyr_freetype.cpp
 src/modules/lyr_freetype/lyr_freetype.h
 src/modules/lyr_freetype/main.cpp
@@ -15,6 +8,8 @@ src/modules/lyr_std/booleancurve.cpp
 src/modules/lyr_std/booleancurve.h
 src/modules/lyr_std/clamp.cpp
 src/modules/lyr_std/clamp.h
+src/modules/lyr_std/curvewarp.cpp
+src/modules/lyr_std/curvewarp.h
 src/modules/lyr_std/import.cpp
 src/modules/lyr_std/import.h
 src/modules/lyr_std/insideout.cpp
@@ -44,8 +39,6 @@ src/modules/lyr_std/twirl.cpp
 src/modules/lyr_std/twirl.h
 src/modules/lyr_std/warp.cpp
 src/modules/lyr_std/warp.h
-src/modules/lyr_std/curvewarp.cpp
-src/modules/lyr_std/curvewarp.h
 src/modules/lyr_std/xorpattern.cpp
 src/modules/lyr_std/xorpattern.h
 src/modules/lyr_std/zoom.cpp
@@ -58,6 +51,13 @@ src/modules/mod_bmp/trgt_bmp.h
 src/modules/mod_dv/main.cpp
 src/modules/mod_dv/trgt_dv.cpp
 src/modules/mod_dv/trgt_dv.h
+src/modules/mod_example/filledrect.cpp
+src/modules/mod_example/filledrect.h
+src/modules/mod_example/main.cpp
+src/modules/mod_example/metaballs.cpp
+src/modules/mod_example/metaballs.h
+src/modules/mod_example/simplecircle.cpp
+src/modules/mod_example/simplecircle.h
 src/modules/mod_ffmpeg/main.cpp
 src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
 src/modules/mod_ffmpeg/mptr_ffmpeg.h
@@ -78,13 +78,13 @@ src/modules/mod_filter/lumakey.h
 src/modules/mod_filter/main.cpp
 src/modules/mod_filter/radialblur.cpp
 src/modules/mod_filter/radialblur.h
+src/modules/mod_geometry/advanced_outline.cpp
+src/modules/mod_geometry/advanced_outline.h
 src/modules/mod_geometry/checkerboard.cpp
 src/modules/mod_geometry/checkerboard.h
 src/modules/mod_geometry/circle.cpp
 src/modules/mod_geometry/circle.h
 src/modules/mod_geometry/main.cpp
-src/modules/mod_geometry/advanced_outline.cpp
-src/modules/mod_geometry/advanced_outline.h
 src/modules/mod_geometry/outline.cpp
 src/modules/mod_geometry/outline.h
 src/modules/mod_geometry/rectangle.cpp
@@ -148,15 +148,26 @@ src/modules/mod_particle/plant.h
 src/modules/mod_particle/random.cpp
 src/modules/mod_particle/random.h
 src/modules/mod_png/main.cpp
+src/modules/mod_png/mptr_cairo_png.cpp
+src/modules/mod_png/mptr_cairo_png.h
 src/modules/mod_png/mptr_png.cpp
 src/modules/mod_png/mptr_png.h
+src/modules/mod_png/trgt_cairo_png.cpp
+src/modules/mod_png/trgt_cairo_png.h
 src/modules/mod_png/trgt_png.cpp
 src/modules/mod_png/trgt_png.h
+src/modules/mod_png/trgt_png_spritesheet.cpp
+src/modules/mod_png/trgt_png_spritesheet.h
 src/modules/mod_ppm/main.cpp
 src/modules/mod_ppm/mptr_ppm.cpp
 src/modules/mod_ppm/mptr_ppm.h
 src/modules/mod_ppm/trgt_ppm.cpp
 src/modules/mod_ppm/trgt_ppm.h
+src/modules/mod_svg/layer_svg.cpp
+src/modules/mod_svg/layer_svg.h
+src/modules/mod_svg/main.cpp
+src/modules/mod_svg/svg_parser.cpp
+src/modules/mod_svg/svg_parser.h
 src/modules/mod_yuv420p/main.cpp
 src/modules/mod_yuv420p/trgt_yuv.cpp
 src/modules/mod_yuv420p/trgt_yuv.h
@@ -166,10 +177,19 @@ src/modules/mptr_mplayer/mptr_mplayer.h
 src/synfig/activepoint.cpp
 src/synfig/activepoint.h
 src/synfig/angle.h
+src/synfig/base_types.cpp
+src/synfig/base_types.h
 src/synfig/blinepoint.cpp
 src/synfig/blinepoint.h
 src/synfig/blur.cpp
 src/synfig/blur.h
+src/synfig/bone.cpp
+src/synfig/bone.h
+src/synfig/boneweightpair.h
+src/synfig/cairo_operators.cpp
+src/synfig/cairo_operators.h
+src/synfig/cairo_renddesc.cpp
+src/synfig/cairo_renddesc.h
 src/synfig/cairoimporter.cpp
 src/synfig/cairoimporter.h
 src/synfig/cairolistimporter.cpp
@@ -189,6 +209,18 @@ src/synfig/distance.cpp
 src/synfig/distance.h
 src/synfig/exception.cpp
 src/synfig/exception.h
+src/synfig/filecontainer.cpp
+src/synfig/filecontainer.h
+src/synfig/filecontainertemporary.cpp
+src/synfig/filecontainertemporary.h
+src/synfig/filecontainerzip.cpp
+src/synfig/filecontainerzip.h
+src/synfig/filesystem.cpp
+src/synfig/filesystem.h
+src/synfig/filesystemgroup.cpp
+src/synfig/filesystemgroup.h
+src/synfig/filesystemnative.cpp
+src/synfig/filesystemnative.h
 src/synfig/gamma.cpp
 src/synfig/gamma.h
 src/synfig/general.h
@@ -220,14 +252,22 @@ src/synfig/layer_polygon.cpp
 src/synfig/layer_polygon.h
 src/synfig/layer_shape.cpp
 src/synfig/layer_shape.h
+src/synfig/layer_skeleton.cpp
+src/synfig/layer_skeleton.h
 src/synfig/layer_solidcolor.cpp
 src/synfig/layer_solidcolor.h
+src/synfig/layer_sound.cpp
+src/synfig/layer_sound.h
+src/synfig/layer_switch.cpp
+src/synfig/layer_switch.h
 src/synfig/listimporter.cpp
 src/synfig/listimporter.h
 src/synfig/loadcanvas.cpp
 src/synfig/loadcanvas.h
 src/synfig/main.cpp
 src/synfig/main.h
+src/synfig/matrix.cpp
+src/synfig/matrix.h
 src/synfig/module.cpp
 src/synfig/module.h
 src/synfig/mutex.cpp
@@ -259,8 +299,6 @@ src/synfig/string.h
 src/synfig/string_decl.h
 src/synfig/surface.cpp
 src/synfig/surface.h
-src/synfig/surfacenew.cpp
-src/synfig/surfacenew.h
 src/synfig/synfig.h
 src/synfig/target.cpp
 src/synfig/target.h
@@ -295,8 +333,14 @@ src/synfig/valuenode_add.cpp
 src/synfig/valuenode_add.h
 src/synfig/valuenode_and.cpp
 src/synfig/valuenode_and.h
+src/synfig/valuenode_anglestring.cpp
+src/synfig/valuenode_anglestring.h
 src/synfig/valuenode_animated.cpp
 src/synfig/valuenode_animated.h
+src/synfig/valuenode_atan2.cpp
+src/synfig/valuenode_atan2.h
+src/synfig/valuenode_average.cpp
+src/synfig/valuenode_average.h
 src/synfig/valuenode_bline.cpp
 src/synfig/valuenode_bline.h
 src/synfig/valuenode_blinecalctangent.cpp
@@ -305,28 +349,54 @@ src/synfig/valuenode_blinecalcvertex.cpp
 src/synfig/valuenode_blinecalcvertex.h
 src/synfig/valuenode_blinecalcwidth.cpp
 src/synfig/valuenode_blinecalcwidth.h
+src/synfig/valuenode_blinereversetangent.cpp
+src/synfig/valuenode_blinereversetangent.h
+src/synfig/valuenode_bone.cpp
+src/synfig/valuenode_bone.h
+src/synfig/valuenode_boneinfluence.cpp
+src/synfig/valuenode_boneinfluence.h
+src/synfig/valuenode_bonelink.cpp
+src/synfig/valuenode_bonelink.h
+src/synfig/valuenode_boneweightpair.cpp
+src/synfig/valuenode_boneweightpair.h
+src/synfig/valuenode_compare.cpp
+src/synfig/valuenode_compare.h
 src/synfig/valuenode_composite.cpp
 src/synfig/valuenode_composite.h
 src/synfig/valuenode_const.cpp
 src/synfig/valuenode_const.h
-src/synfig/valuenode_compare.cpp
-src/synfig/valuenode_compare.h
 src/synfig/valuenode_cos.cpp
 src/synfig/valuenode_cos.h
+src/synfig/valuenode_derivative.cpp
+src/synfig/valuenode_derivative.h
+src/synfig/valuenode_dilist.cpp
+src/synfig/valuenode_dilist.h
+src/synfig/valuenode_dotproduct.cpp
+src/synfig/valuenode_dotproduct.h
 src/synfig/valuenode_duplicate.cpp
 src/synfig/valuenode_duplicate.h
+src/synfig/valuenode_dynamic.cpp
+src/synfig/valuenode_dynamic.h
 src/synfig/valuenode_dynamiclist.cpp
 src/synfig/valuenode_dynamiclist.h
 src/synfig/valuenode_exp.cpp
 src/synfig/valuenode_exp.h
+src/synfig/valuenode_gradientcolor.cpp
+src/synfig/valuenode_gradientcolor.h
 src/synfig/valuenode_gradientrotate.cpp
 src/synfig/valuenode_gradientrotate.h
+src/synfig/valuenode_greyed.cpp
+src/synfig/valuenode_greyed.h
 src/synfig/valuenode_integer.cpp
 src/synfig/valuenode_integer.h
+src/synfig/valuenode_intstring.cpp
+src/synfig/valuenode_intstring.h
 src/synfig/valuenode_join.cpp
 src/synfig/valuenode_join.h
 src/synfig/valuenode_linear.cpp
 src/synfig/valuenode_linear.h
+src/synfig/valuenode_log.cpp
+src/synfig/valuenode_log.h
 src/synfig/valuenode_not.cpp
 src/synfig/valuenode_not.h
 src/synfig/valuenode_or.cpp
@@ -355,6 +425,8 @@ src/synfig/valuenode_segcalcvertex.cpp
 src/synfig/valuenode_segcalcvertex.h
 src/synfig/valuenode_sine.cpp
 src/synfig/valuenode_sine.h
+src/synfig/valuenode_staticlist.cpp
+src/synfig/valuenode_staticlist.h
 src/synfig/valuenode_step.cpp
 src/synfig/valuenode_step.h
 src/synfig/valuenode_stripes.cpp
@@ -379,14 +451,22 @@ src/synfig/valuenode_vectorx.cpp
 src/synfig/valuenode_vectorx.h
 src/synfig/valuenode_vectory.cpp
 src/synfig/valuenode_vectory.h
+src/synfig/valuenode_weightedaverage.cpp
+src/synfig/valuenode_weightedaverage.h
 src/synfig/valuenode_wplist.cpp
 src/synfig/valuenode_wplist.h
+src/synfig/valueoperations.cpp
+src/synfig/valueoperations.h
+src/synfig/valuetransformation.h
 src/synfig/vector.h
 src/synfig/version.h
 src/synfig/waypoint.cpp
 src/synfig/waypoint.h
+src/synfig/weightedvalue.h
 src/synfig/widthpoint.cpp
 src/synfig/widthpoint.h
+src/synfig/zstreambuf.cpp
+src/synfig/zstreambuf.h
 # Disabled because they are not built
 # src/template.cpp
 # src/template.h
@@ -395,4 +475,4 @@ src/tool/joblistprocessor.cpp
 src/tool/optionsprocessor.cpp
 src/tool/printing_functions.cpp
 src/tool/progress.h
-src/tool/renderprogress.h
\ No newline at end of file
+src/tool/renderprogress.h
diff --git a/po/ar.gmo b/po/ar.gmo
new file mode 100644
index 0000000..9b5ce4a
Binary files /dev/null and b/po/ar.gmo differ
diff --git a/po/da.po b/po/ar.po
similarity index 65%
copy from po/da.po
copy to po/ar.po
index 44791d3..a0fa31f 100644
--- a/po/da.po
+++ b/po/ar.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -7,166 +7,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Danish (http://www.transifex.com/projects/p/synfig/language/"
-"da/)\n"
-"Language: da\n"
+"Language-Team: Arabic (http://www.transifex.com/projects/p/synfig/language/"
+"ar/)\n"
+"Language: ar\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"
-
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
@@ -174,10 +25,11 @@ msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -197,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr ""
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +74,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +87,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,21 +605,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "المقدار"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,127 +1211,56 @@ msgstr ""
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,7 +1575,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1591,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2389,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2969,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3010,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3032,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3059,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3093,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3123,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3132,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3383,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3451,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3430,228 +3591,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4040,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4246,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4266,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4376,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4400,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4459,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,16 +4496,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,27 +4538,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4590,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4622,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4650,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4669,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4916,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/bs.gmo b/po/bs.gmo
new file mode 100644
index 0000000..bb03c1b
Binary files /dev/null and b/po/bs.gmo differ
diff --git a/po/ca.po b/po/bs.po
similarity index 65%
copy from po/ca.po
copy to po/bs.po
index 91ae837..79dd9e2 100644
--- a/po/ca.po
+++ b/po/bs.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -7,166 +7,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
-"ca/)\n"
-"Language: ca\n"
+"Language-Team: Bosnian (http://www.transifex.com/projects/p/synfig/language/"
+"bs/)\n"
+"Language: bs\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"
-
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
+"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"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
@@ -174,10 +25,11 @@ msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -197,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr ""
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +74,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +87,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,15 +605,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,127 +1211,56 @@ msgstr ""
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,7 +1575,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1591,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2389,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2969,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3010,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3032,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3059,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3093,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3123,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3132,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3383,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3451,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3430,228 +3591,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4040,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4246,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4266,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4376,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4400,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4459,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,16 +4496,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,27 +4538,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4590,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4622,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4650,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4669,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4916,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/ca.gmo b/po/ca.gmo
index a95a13b..d996e1a 100644
Binary files a/po/ca.gmo and b/po/ca.gmo differ
diff --git a/po/ca.po b/po/ca.po
index 91ae837..b079963 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
 "ca/)\n"
@@ -18,168 +18,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "Un altre"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
@@ -197,6 +48,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Color"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +73,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +86,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +127,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,18 +148,19 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
-msgstr ""
+msgstr "Origen"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
@@ -326,96 +191,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "Inverteix"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Tipus"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +297,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +336,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Importa la imatge"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +438,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +593,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,21 +604,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Quantitat"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -693,7 +627,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +637,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +645,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Ràdio"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +696,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +724,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +769,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +810,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +899,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +911,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +927,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Ha estat impossible d'obrir el fitxer"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +991,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1132,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1198,130 +1207,59 @@ msgid "Stripe"
 msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:59
-msgid "Halftone 3"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
+msgstr "Tipus"
+
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Color"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1302,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1371,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1417,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Esvaïment"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Caiguda"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Determina la funció de caiguda de l'esvaïment"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineal"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Proporcional"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Arrel quadrada"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmoidea"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cossinus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,17 +1564,19 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Angle"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Punts"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1579,12 +1590,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1614,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1631,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1650,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Bucle"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1679,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1712,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,10 +1797,10 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolació"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
@@ -1796,16 +1813,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1852,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1880,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Enllaça"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1994,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2002,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2056,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vector"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Color"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Llenç"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Unitats"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Píxels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "Polzades"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Metres"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Mil·límetres"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Centímetres"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,26 +2242,27 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Mètode de barreja"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Duplica"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
-msgstr ""
+msgstr "Índex"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
@@ -2172,7 +2300,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2324,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Llenç"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2372,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2388,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nom"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Ha estat impossible d'obrir el fitxer"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "Valor del node"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2969,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3010,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,14 +3032,14 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Matís"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Saturació"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
@@ -2869,25 +3059,25 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Fallada d'inicialización d'objectiu"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
@@ -2903,32 +3093,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3123,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3132,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Sencer"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Real"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3383,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3451,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3442,216 +3603,429 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Roig"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Verd"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Blau"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Transparència"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Longitud"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Valor"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4040,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4246,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4266,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,29 +4376,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Luma"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3832,58 +4400,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4459,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,23 +4496,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3994,27 +4538,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4590,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4622,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Temps"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4650,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4669,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Vector"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Atributs"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4916,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Renderitzant..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Fet."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/cs.gmo b/po/cs.gmo
index a6f39a7..9ae2381 100644
Binary files a/po/cs.gmo and b/po/cs.gmo differ
diff --git a/po/cs.po b/po/cs.po
index 8e81a43..10b831d 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,16 +1,16 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# jui <appukonrad at gmail.com>, 2012
-# jui <appukonrad at gmail.com>, 2012
+# Jiří Vírava <appukonrad at gmail.com>, 2012
+# Jiří Vírava <appukonrad at gmail.com>, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Czech (http://www.transifex.com/projects/p/synfig/language/"
 "cs/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Vyplněný obdélník"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Příklad"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Barva"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Vyplň barvu vrstvy"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Bod 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "První roh obdélníku"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Bod 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Druhý roh obdélníku"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Zkosení"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Použít zkosení na rohy"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Jednoduchý kruh"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Střed"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Střed kruhu"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Rádius"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "To je poloměr kruhu"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Ostatní"
 
@@ -199,6 +50,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr "Text k rendrování"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Barva"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Barva textu"
@@ -213,6 +75,7 @@ msgstr "Styl"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normální"
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr "Kurzíva"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Zatížení"
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr "Orientace textu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Počátek"
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Tuto funkci vypnout, pokud se bude používat animace textu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Převrátit"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Text je příliš malý a nebude vykreslen."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Zkosení"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Úhel světla"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Hloubka úkosem"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Zjemnit"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -429,7 +299,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,28 +338,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Zkreslení"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Šířka"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Importovat obrázek"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,17 +440,9 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Zkreslení"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Definuje, kde bude střed"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -660,7 +595,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -671,21 +606,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Množství"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -695,7 +629,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -713,6 +647,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Rádius"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -753,6 +698,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Střed"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -773,50 +726,39 @@ msgstr "Frekvence Strobe v dobách za sekundu"
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Nelze vytvořit cílový povrch"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Šířka"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Výška"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -829,40 +771,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -870,6 +812,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Střed kruhu"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "To je poloměr kruhu"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -946,58 +901,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,10 +913,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Není možné otevřít soubor"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,30 +993,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Vyplněný obdélník"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Příklad"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Vyplň barvu vrstvy"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Bod 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "První roh obdélníku"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Bod 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Druhý roh obdélníku"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Použít zkosení na rohy"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Jednoduchý kruh"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1125,7 +1134,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1205,125 +1214,54 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr "Typ"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Barva"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1366,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1435,7 +1373,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1481,6 +1419,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineární"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Kosinus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1557,17 +1566,19 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Úhel"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Body"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1575,18 +1586,18 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Pravidelný mnohoúhelník"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1605,7 +1616,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1622,7 +1633,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1641,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1669,11 +1681,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1702,54 +1714,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1782,10 +1799,10 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolace"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
@@ -1798,16 +1815,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1837,7 +1854,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1865,54 +1882,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1977,6 +1996,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1984,8 +2004,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2038,66 +2058,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Barva"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Plátno"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Jednotky"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Pixely"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "Palce"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Metry"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetry"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Centimetry"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2117,24 +2244,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Duplikovat"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2174,7 +2302,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2198,56 +2326,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Plátno"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2255,11 +2374,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2271,479 +2390,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Název"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Není možné otevřít soubor"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2781,8 +2971,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2822,13 +3012,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2844,14 +3034,14 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Odstín"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Saturace"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
@@ -2871,23 +3061,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2905,32 +3095,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2939,8 +3125,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2948,333 +3134,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Úhel vektoru"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Délka vektoru"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3283,45 +3385,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3345,74 +3453,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3444,216 +3605,429 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Červená"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Zelená"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Modrá"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vrchol 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "První vrchol segmentu"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tečna 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "První tečna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vrchol 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Druhý vrchol segmentu"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tečna 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "Druhá tečna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "Osa X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Osa Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vrchol"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolace"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr "Horní hranice"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Hodnota"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3668,32 +4042,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3710,6 +4248,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3718,58 +4268,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3798,27 +4378,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3834,58 +4402,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3917,7 +4461,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3954,23 +4498,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3996,27 +4540,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4048,15 +4592,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4080,24 +4624,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Čas"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4108,10 +4652,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4123,229 +4671,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Nastavení"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gama"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4358,320 +4918,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Vykreslování ..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Hotovo."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Fyzické rozlišení nastaveno na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Fyzické rozlišení X nastaveno na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Fyzické rozlišení Y nastaveno na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Kvalita nastavena na"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Rozlišení X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Rozlišení Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/da.gmo b/po/da.gmo
index 0ed11e2..0539021 100644
Binary files a/po/da.gmo and b/po/da.gmo differ
diff --git a/po/da.po b/po/da.po
index 44791d3..a726ed8 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,14 +1,15 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Joe Hansen <joedalton2 at yahoo.dk>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Danish (http://www.transifex.com/projects/p/synfig/language/"
 "da/)\n"
@@ -18,201 +19,64 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr ""
+msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "Andre"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr ""
+msgstr "Tekstlag"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr ""
+msgstr "kunne ikke initialisere"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
-msgstr ""
+msgstr "tomt skriftsæt"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
-msgstr ""
+msgstr "Tekst at optegne"
+
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Farve"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "Farvetekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "Skriftfamilie"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr ""
+msgstr "Stil"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "Normal"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
@@ -220,9 +84,10 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "Kursiv"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -236,11 +101,11 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr ""
+msgstr "Fed"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr ""
+msgstr "Ultrafed"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
@@ -263,47 +128,48 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr ""
+msgstr "Størrelse"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr ""
+msgstr "Tekststørrelse"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr ""
+msgstr "Retning"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr ""
+msgstr "Tekstretning"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr ""
+msgstr "Tekstposition"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "Skrift"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
-msgstr ""
+msgstr "Tekst for lille, ingen tekst vil blive optegnet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
+msgstr "Kan ikke fortolke multibyte-tegn.\n"
+
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
 msgstr ""
 
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,47 +337,112 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
-#, c-format
-msgid "Filename seems to already be set to \"%s\" (%s)"
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
-msgid "Filename"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
-msgid "File to import"
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
-msgid "Time Offset"
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
-msgid "Time Offset to apply to the imported file"
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:55
-msgid "Inside Out"
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Importer billede"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
+#, c-format
+msgid "Filename seems to already be set to \"%s\" (%s)"
+msgstr "Filnavn er allerede sat til »%s« (%s)"
+
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
+msgid "Filename"
+msgstr "Filnavn"
+
+#: src/modules/lyr_std/import.cpp:318
+msgid "File to import"
+msgstr "Fil at importere"
+
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
+msgid "Time Offset"
+msgstr "Tidsforskydning"
+
+#: src/modules/lyr_std/import.cpp:323
+msgid "Time Offset to apply to the imported file"
+msgstr "Tidsforskydning at anvende for importeret fil"
+
+#: src/modules/lyr_std/insideout.cpp:55
+msgid "Inside Out"
+msgstr "Indefra ud"
+
+#: src/modules/lyr_std/insideout.cpp:163
+msgid "Defines where the center will be"
+msgstr "Definerer hvor centrum vil være"
+
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
 msgstr ""
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,21 +605,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Antal"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Kan ikke åbne fil"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1209,119 +1219,48 @@ msgstr ""
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,9 +1575,9 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Punkter"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1573,18 +1585,18 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Regulær polygon"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Loop"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,9 +1853,9 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "Vilkårlig"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Cairo overflade i dårlig tilstand"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Enheder"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Billedpunkter"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "Tommer"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Meter"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Millimeter"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Centimeter"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Z-dybde"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Lærred"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2389,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Navn"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Kan ikke åbne fil"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
-msgstr ""
+msgstr "Manglende »attributtype« i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
-msgstr ""
+msgstr "»%s« var allerede defineret i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
-msgstr ""
+msgstr "<meta> skal have et navn"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
-msgstr ""
+msgstr "<meta> skal have indhold"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2762,25 +2953,25 @@ msgstr ""
 #: src/synfig/palette.cpp:306
 #, c-format
 msgid "Unable to open %s for write"
-msgstr ""
+msgstr "Kan ikke åbne %s for skrivning"
 
 #: src/synfig/palette.cpp:328
 #, c-format
 msgid "Unable to open %s for read"
-msgstr ""
+msgstr "Kan ikke åbne %s for læsning"
 
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
 msgid "%s does not appear to be a valid %s palette file"
-msgstr ""
+msgstr "%s ligner ikke en gyldig %s-paletfil"
 
 #: src/synfig/palette.cpp:437
 #, c-format
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3438,220 +3600,433 @@ msgstr ""
 msgid "Scale of the width"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Rød"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Grøn"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Blå"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Længde"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Værdi"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,29 +4377,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Luma"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3832,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,23 +4497,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3994,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Tid"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Færdig."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/de.gmo b/po/de.gmo
index 5888727..4e14577 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index bafe9b4..d43fe4f 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,17 +1,22 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Bernd Kampe <bernd.kampe at gmx.net>, 2014-2015
+# Bernd Kampe <bernd.kampe at gmx.net>, 2014
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
+# Nils Mäser <unsinn10 at gmx.de>, 2014-2015
 # Oliver Horn <oliver.horn at ohoservices.de>, 2011-2013
+# Simon_Schuette <simonschuette at arcor.de>, 2015
+# Nils Mäser <unsinn10 at gmx.de>, 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
-"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-09 22:01+0000\n"
+"Last-Translator: Nils Mäser <unsinn10 at gmx.de>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/synfig/language/"
 "de/)\n"
 "Language: de\n"
@@ -20,166 +25,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Gefülltes Rechteck"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Beispiel"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Farbe"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Füllfarbe der Ebene"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punkt 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Erste Ecke des Rechtecks"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punkt 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Zweite Ecke des Rechtecks"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Unschärfe X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Unschärfe Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Schräge"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Schrägen für die Ecken verwenden"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Schräge abrunden"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "abgerundete Schräge verwenden?"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Verlauf"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Balls"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radii"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Zeichenbreiten"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Verlauf Links"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Verlauf Rechts"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Nur Positiv"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Einfacher Kreis"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Mitte"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Mittelpunkt des Kreises"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Radius"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Dies ist der Radius des Kreises"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Andere"
 
@@ -199,6 +55,17 @@ msgstr "leere Schriftarteinstellung"
 msgid "Text to Render"
 msgstr "Zu rendernder Text"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Farbe"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Farbe des Textes"
@@ -213,6 +80,7 @@ msgstr "Stil"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -225,6 +93,7 @@ msgid "Italic"
 msgstr "Kursiv"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Zeichenbreite"
 
@@ -265,8 +134,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Beschreibt wie eng Textzeilen vertikal angeordnet sind"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +155,17 @@ msgid "Text Orientation"
 msgstr "Text Ausrichtung"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Ursprung"
 
@@ -330,96 +200,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Dies ausschalten, wenn der Text animiert werden soll"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Umkehren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Kein Zeichensatz geladen, es wird kein Text gerendert."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Text zu klein wird nicht gerendert"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Zeichensatzgröße kann nicht gesetzt werden."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Ungültige multibyte Folge - ist die Locale gesetzt?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Kann multibyte Zeichen nicht parsen.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Schräge"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilisieren"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Typ Unschärfe, die benutzt wird"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Box Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Schnelle Gausssche Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Cross-Hatch Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gausssche Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Disc Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Helle Farbe"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Dunkle Farbe"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Lichteinfallwinkel"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Breite der Schräge"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Weichheit"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr "Benutze Luminanz"
+msgstr "Benutze Helligkeit"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Ganz"
 
@@ -431,7 +306,7 @@ msgstr "Regionenmenge"
 msgid "Set of regions to combine"
 msgstr "Zu kombinierende Regionenmenge"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Klammer"
 
@@ -470,28 +345,101 @@ msgstr "Boden"
 msgid "Lower boundary of the clamping"
 msgstr "Untere Grenze für Klamer"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Linie verwinden"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Störungen"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Position der Ziellinie des Pfads"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Breite"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Erweiterung senkrecht zur Quelllinie"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Startpunkt"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Startpunkt der Ausgangslinie"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Endpunkt"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Endpunkt der Ausgangslinie"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Eckpunkt"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Liste der Pfadpunkte, zu denen die Ausgangslinie verläuft"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Schnell"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "wenn gesetzt: schnelles Rendern, aber mit Ungenauigkeiten"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Bild importieren"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Dateiname ist bereits \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Dateiname"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "zu importierende Datei"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Zeitversatz (Offset)"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Bei der Importdatei anzuwendende Zeitverschiebung"
 
@@ -499,17 +447,9 @@ msgstr "Bei der Importdatei anzuwendende Zeitverschiebung"
 msgid "Inside Out"
 msgstr "Umkehr"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Störungen"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Definiert wo der Mittelpunkt sein wird"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -549,7 +489,7 @@ msgstr "Saatpunkt"
 
 #: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
-msgstr "Datenbasis retten"
+msgstr "Abbruch-Wert"
 
 #: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
@@ -595,7 +535,7 @@ msgstr "Farbe außen"
 
 #: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
-msgstr "Farbcyclus"
+msgstr "Farbzyklus"
 
 #: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
@@ -662,9 +602,9 @@ msgstr "Versatz außen"
 msgid "Scale Outside"
 msgstr "Verlauf außen"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
-msgstr "Rotieren"
+msgstr "Drehen"
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
@@ -673,15 +613,14 @@ msgstr "Transformieren"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
-msgstr "Stelle an der Sie den Ursprung haben wollen"
+msgstr "Position des Ursprungs"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -697,7 +636,7 @@ msgstr "Rotationsweite"
 msgid "Shade"
 msgstr "Schatten"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Größe des Schattens"
 
@@ -707,7 +646,7 @@ msgid "Spherize"
 msgstr "Spherize"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Position"
 
@@ -715,6 +654,17 @@ msgstr "Position"
 msgid "Where the sphere distortion is centered"
 msgstr "Mittelpunkt der Sphere Verzerrung"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radius"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Grüße der Sphere Verzerrung"
@@ -755,6 +705,14 @@ msgstr "Ziehen (Stretch)"
 msgid "Size of the stretch relative to its Center"
 msgstr "Größe des Ziehens relativ zum Mittelpunkt"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Mitte"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Mittelpunkt des Ziehens"
@@ -775,50 +733,39 @@ msgstr "Frequenz des Stroboskops in 1/Sekunde"
 msgid "Super Sample"
 msgstr "Super Sample"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Oberflächenziel kann nicht erstellt werden"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Weite"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Breite des Abtastbereichs (in Pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Höhe"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Höhe des Abtastbereichs (in Pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
-msgstr "parametrisch benutzen"
+msgstr "Parametrisierung"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Benutzung des parametrischen Renderers"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Alpha sichern"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Alpha Artefakte vermeiden? "
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Zeitschleife"
@@ -831,40 +778,40 @@ msgstr "Verknüpfungs Zeit"
 msgid "Start time of the loop for the cycled context"
 msgstr "Startzeit der Schleife für die Wiederholung"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokale Zeit"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Zeit wann die resultierende Schleife startet"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Dauer"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Länge der Schleife"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Nur für positive Dauer"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "nur positive Dauer der Schleife?"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symetrisch"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Schleifen werden zur lokalen Zeit gespiegelt"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Übersetzen"
 
@@ -872,6 +819,19 @@ msgstr "Übersetzen"
 msgid "Twirl"
 msgstr "Wirbel"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Mittelpunkt des Kreises"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Dies ist der Radius des Kreises"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotationen"
@@ -948,58 +908,6 @@ msgstr "Horizont"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Höhe für den Horizont in Perspektiven"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Linie verwinden"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Erweiterung senkrecht zur Quelllinie"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Startpunkt"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Startpunkt der Ausgangslinie"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Endpunkt"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Endpunkt der Ausgangslinie"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Eckpunkt"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr "Liste des Spline Punkte zur Biegung der Quellline"
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Schnell"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "wenn gesetzt: schnelles Rendern, aber mit Artefakten"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "XOR Muster"
@@ -1012,10 +920,11 @@ msgstr "Mittelpunkt des Musters"
 msgid "Size of the pattern"
 msgstr "Größe des Musters"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Maßstab"
 
@@ -1027,59 +936,59 @@ msgstr "Skaliert zu diesem Wert"
 msgid "Point to scale from"
 msgstr "Skaliert ab diesem Punkt"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "%s kann nicht geöffnet werden"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s ist nicht im BMP Format"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
+msgstr "Fehler beim Lesen des BITMAP::FILEHEADER von %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
+msgstr "Fehler beim Lesen des BITMAP::INFOHEADER von %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr ""
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr "Ungültiger BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, sollte %d sein)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr ""
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
+msgstr "Ungültiger BITMAP::INFOHEADER in %s. (biSize=%d, sollte %d sein)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Einlesen von komprimierten Bitmaps ist nicht unterstützt"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Nicht unterstützte Bit-Tiefe (bit_count=%d, statt 24 oder 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr " (animiert)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Datei kann nicht geöffnet werden"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "File Header kann nicht in die Datei geschrieben werden"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Info Header kann nicht geschrieben werden "
 
@@ -1091,37 +1000,142 @@ msgstr "Info Header kann nicht geschrieben werden "
 msgid "Unable to open pipe to encodedv"
 msgstr "Pipe zu encodedv kann nicht geöffnet werden"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Gefülltes Rechteck"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Beispiel"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Füllfarbe der Ebene"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punkt 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Erste Ecke des Rechtecks"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punkt 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Zweite Ecke des Rechtecks"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Unschärfe X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Unschärfe Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Schrägen für die Ecken verwenden"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Schräge abrunden"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "abgerundete Schräge verwenden?"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Verlauf"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Balls"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Radii"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Zeichenbreiten"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Verlauf Links"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Verlauf Rechts"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Nur Positiv"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Einfacher Kreis"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
+"Fehler: FFMPEG konnte nicht gefunden werden.\n"
+"\n"
+"Installiere bitte das Paket \"ffmpeg\" oder \"avconv\" (libav-tools)."
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+msgstr "Verbindung (pipe) zu ffmpeg kann nicht geöffnet werden (no pipe)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+msgstr "Verbindung zu ffmpeg kann nicht geöffnet werden (pid == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+msgstr ""
+"Verbindung zu ffmpeg kann nicht geöffnet werden (dup2( p[0], STDIN_FILENO ) "
+"== -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+msgstr "Verbindung zu ffmpeg kann nicht geöffnet werden (exec failed)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+msgstr "Verbindung zu ffmpeg kann nicht geöffnet werden (keine Datei)"
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1132,7 +1146,7 @@ msgstr "Unschärfe"
 msgid "Blurs"
 msgstr "Unschärfen"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Größe der Unschärfe"
 
@@ -1214,126 +1228,55 @@ msgstr "Halbton 3"
 msgid " Type"
 msgstr " Typ"
 
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr "Subtraktions Kennzeichen"
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr " Farbe"
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr " Masken Ursprung"
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr " Masken Winkel"
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr "Luminiszenz Schlüssel"
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr "Radiale Unschärfe"
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr "Größe der Unschärfe"
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr "Ausblenden"
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Hintergrundmuster (checkerboard)"
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr "Geometrie"
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Karo Farbe"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Karo Mittelpunkt"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Karo Größe"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Kreis"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Radius des Kreises"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Schleier"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Schleierstärke im Kreis"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Kreis umkehren"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
+msgstr "Subtraktions Kennzeichen"
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Sinken"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr " Farbe"
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Legt die Sinkfunktion für Schleier festlegen"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
+msgstr " Masken Ursprung"
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
+msgstr " Masken Winkel"
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Quadratisch"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
+msgstr "Helligkeits-Filter"
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Quadratwurzel"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
+msgstr "Radiale Unschärfe"
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
+msgstr "Größe der Unschärfe"
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Cosinus"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
+msgstr "Ausblenden"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr "Erweiterte Umrandung"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr "Geometrie"
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
-msgstr ""
+msgstr "Keine Eckpunkte im Pfad vorhanden"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1136
 #: src/modules/mod_geometry/outline.cpp:826
@@ -1341,7 +1284,7 @@ msgstr ""
 #: src/modules/mod_gradient/curvegradient.cpp:562
 #: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
-msgstr "Liste der Spline Punkte"
+msgstr "Liste der Pfadpunkte"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1140
 #: src/modules/mod_geometry/outline.cpp:840
@@ -1370,40 +1313,41 @@ msgstr "Strichende am Anfang"
 #: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
+"Bestimmt das Strichende am Anfang des Pfades, wenn der Pfad geöffnet ist"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "abgerundet"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "eckig"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "spitz"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "flach"
 
@@ -1413,7 +1357,7 @@ msgstr "Strichende am Ende"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
-msgstr ""
+msgstr "Bestimmt das Strichende am Ende des Pfades, wenn der Pfad geöffnet ist"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
@@ -1438,11 +1382,13 @@ msgstr "Sanft"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
-msgstr "Interpolation zwischen Breitenpunkten (0) Linear (1) Sanft"
+msgstr ""
+"Bestimmt die Sanftheit der Linienränder der Umrandung zwischen "
+"Breitenpunkten. (0) Linear (1) Sanft"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1450,7 +1396,7 @@ msgstr "Homogen"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
-msgstr ""
+msgstr "Position der Breitenpunkte basieren auf Pfadlänge"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
@@ -1488,6 +1434,77 @@ msgstr "Strich Verschiebung"
 msgid "Distance to Offset the Dash Items"
 msgstr "Verschiebungsabstand Strich"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Hintergrundmuster (checkerboard)"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Karo Farbe"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Karo Mittelpunkt"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Karo Größe"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Kreis"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Radius des Kreises"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Unschärfe"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Unschärfestärke im Kreis"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Kreis umkehren"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Abschwächung"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Legt die Abschwächfunktion für Unschärfe fest"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linear"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Quadratisch"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Quadratwurzel"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosinus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Umrandung"
@@ -1519,11 +1536,11 @@ msgstr "Loopyness"
 
 #: src/modules/mod_geometry/outline.cpp:866
 msgid "(Currently not used)"
-msgstr ""
+msgstr "(Gerade nicht benutzt)"
 
 #: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
-msgstr "Länge der Spline zur Interpolation der Breite verwenden"
+msgstr "Länge des Pfads zur Interpolation der Breite verwenden"
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
@@ -1564,7 +1581,9 @@ msgstr "Der Radius der inneren Punkte des Sterns"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Winkel"
 
@@ -1572,7 +1591,7 @@ msgstr "Winkel"
 msgid "The orientation of the star"
 msgstr "Die Ausrichtung des Sterns"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Punkte"
 
@@ -1588,12 +1607,12 @@ msgstr "Regelmäßes Vieleck"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "einen Stern oder ein regelmäßiges Vieleck zeichnen"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "\"%s\" kann nicht zum Schreiben geöffnet werden!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Beschreibung nicht vorhanden!"
 
@@ -1612,7 +1631,7 @@ msgstr "Verläufe"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1629,10 +1648,10 @@ msgstr "Rotation des Verlaufs um das Zentrum "
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
-msgstr "wiederholter Verlauf "
+msgstr "Verlauf wiederholen"
 
 #: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
@@ -1648,25 +1667,26 @@ msgid "Global width of the gradient"
 msgstr "Globale Breite des Verlaufs"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Schleife"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZickZack"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Verlauf symmetrisch zum MIttelpunkt?"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr "Verlauf symmetrisch zur Mittelsenkrechten"
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1676,11 +1696,11 @@ msgstr "Senkrechte"
 msgid "Linear Gradient"
 msgstr "Linearer Verlauf"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Startpunkt des Verlaufs"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Endpunkt des Verlaufs"
 
@@ -1709,54 +1729,59 @@ msgstr "im Uhrzeigersinn"
 msgid "When checked the spiral turns clockwise"
 msgstr "im Uhrzeigersinn?"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Keine Datei zum Laden"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr "Temporäre Datei konnte nicht angelegt werden für "
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Kann nicht geöffnet werden"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Einzelbild kann nicht erhalten werden von"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
-msgstr "Ungültige Oberfläche  von"
+msgstr "Ungültige Oberfläche von"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Verbindung (pipe) zu imagemagick kann nicht geöffnet werden"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Ende das Datenstroms ohne PPM Header gefunden zu haben"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "Datenstrom nicht im PPM Format"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Vorzeitiges Ende der Datei (nach Header)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Vorzeitiges Ende der Datei"
 
@@ -1789,7 +1814,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "verändern der Quelle des Zufallsrauschens"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
@@ -1805,16 +1830,16 @@ msgid "Nearest Neighbor"
 msgstr "Nächster Nachbar"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
-msgstr "Spline"
+msgstr "Pfad"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubisch"
@@ -1825,7 +1850,7 @@ msgstr "Detail"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
-msgstr "erhöhen für  feine Details des Rauschens"
+msgstr "erhöhen für feine Details des Rauschens"
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
@@ -1844,7 +1869,7 @@ msgid "When checked produces turbulent noise"
 msgstr "turbulentes Rauschen"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Zufall"
 
@@ -1872,55 +1897,57 @@ msgstr "Super sampling"
 msgid "When checked the gradient is supersampled"
 msgstr "Super sampling des Verlaufs"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Verbindung (Link)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "Wertknoten Quelle für den zentralen Wert"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "Wert für die maximale Zufallsdifferenz"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Startwert"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Startwert für Zufallszahlen"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Geschwindigkeit"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr "definiert wie oft ein Zufallswert genommen wird (pro Sekunde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "legt fest wie der Wert von einem Zufallswert zum nächsten verändert wird"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Keine Veränderung"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "schleifenzeit"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "wiederholt den Zufallswert nach einer Weile"
 
@@ -1942,7 +1969,7 @@ msgstr "Winkel um den jeder Teil vom Übergeordneten abweicht"
 
 #: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
-msgstr "Erdanziehungskraft"
+msgstr "Schwerkraft"
 
 #: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
@@ -1954,7 +1981,7 @@ msgstr "Tangentiale Geschwindigkeit"
 
 #: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
-msgstr "Wert bis zu dem shoots wachsen entlang der Tangente des Spline"
+msgstr "Wert bis zu dem shoots wachsen entlang der Tangente des Pfads"
 
 #: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
@@ -1964,7 +1991,7 @@ msgstr "Senkrechte Geschwindigeit"
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
-msgstr "Wert bis zu dem shoots wachsen senkrecht zur Tangente des Spline"
+msgstr "Wert bis zu dem shoots wachsen senkrecht zur Tangente des Pfads"
 
 #: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
@@ -1987,6 +2014,7 @@ msgstr ""
 "Stängelgröße audn Alpha Wert 1.0 wird für das Rendering verwendet "
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Umgekehrt"
 
@@ -1994,8 +2022,8 @@ msgstr "Umgekehrt"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "falls ausgewählt, die Pflanze in umgekehrter Richtung rendern"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Schritt"
 
@@ -2021,7 +2049,7 @@ msgstr "Keime"
 
 #: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
-msgstr ""
+msgstr "Anzahl an Stellen, in denen Wachstum in Teilstücken des Pfads auftritt"
 
 #: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
@@ -2048,70 +2076,179 @@ msgstr "Benutze Breite"
 
 #: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
+msgstr "Geschwindigkeit anhand der Pfadbreite skalieren"
+
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Ungültiger Status der Cairo-Zeichenfläche"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
 msgstr ""
+"Das Bild ist zu groß. Es darf nicht mehr als 5000*2000=10000000 Pixel haben. "
+"Momentan hat es %d*%d=%d Pixel."
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s war nicht in PPM Format"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Öffnen nicht möglich - leerer Dateiname"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "SVG importieren"
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): Erweiterung nicht gefunden"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "Logisch (bool)"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): unbekannter Dateityp --"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "Ganzzahlig (integer)"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "Winkel"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Reell (real)"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "Zeit"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Farbe"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "Pfadpunkt"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "Matrix"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr "Knochen-Gewichts-Paar"
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "Breitenpunkt"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "Strichelement"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "Liste"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Animation"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "Zeichenkette (string)"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "Verlauf"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "Knochenobjekt"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "Knochen-Wertknoten"
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "Transformation"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr "CairoImporter::open(): Kann leeren Dateinamen nicht öffnen"
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr "CairoImporter::open(): Konnte Endung nicht finden"
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr "CairoImporter::open(): Unbekannter Dateityp -- "
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Keine Bilder in der Liste"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "in line"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Einheiten"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixel"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Zoll"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Meter"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimeter"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Zentimeter"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Öffnen nicht möglich - leerer Dateiname"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): Erweiterung nicht gefunden"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): unbekannter Dateityp --"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Zieloberfläche kann nicht erzeugt werden"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z Tiefe"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
-msgstr "Verändert die Position der Ebene in Stapel der Ebenen"
+msgstr "Verändert die Position der Ebene im Stapel der Ebenen"
 
 #: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
@@ -2129,24 +2266,25 @@ msgstr "Unten-Rechts"
 msgid "Lower right-hand Corner of image"
 msgstr "Untere rechte Ecke des BIldes"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Alpha Kanal der Ebene"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr "Blend Methode"
+msgstr "Mischmethode"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
-msgstr "Blend Methode für die tiefer liegenden Ebenen"
+msgstr "Mischmethode für die tiefer liegenden Ebenen"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Doppelt"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Index"
 
@@ -2186,7 +2324,7 @@ msgstr "Subsampling Typ"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Linientyp für Gewichtung der Subsamles "
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Konstant"
 
@@ -2210,56 +2348,47 @@ msgstr "Subsample Endwert"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relativer Wert des letzten Subsample, für lineare Gewichtung "
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Gruppe"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr "Positionsversatz"
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Transformation"
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr "Position, Rotation, Neigung und Skalierung"
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Animation"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
-msgstr ""
+msgstr "Gruppeninhalt"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Größe der Animation"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Zeitversatz der auf den Kontext angewendet wird"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Sperre für Untergeordnete"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr "Auswahl sperren"
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
-msgstr "sperrt untergeordnete für Mausklick Auswahl"
-
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fokuspunkt"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Fixpunkt beim Zoomen"
+msgstr "sperrt Untergeordnete für Mausklick Auswahl"
 
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
-msgstr "Umrandung Wachstum"
+msgstr "Wachstum der Umrandung"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
-msgstr "Expontieller Wert für Breitenwachstum Umrundung Untergeorneter"
+msgstr "Exponentieller Wert für Breitenwachstum der Umrandung Untergeordneter"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Aktuelle Zeit"
 
@@ -2267,11 +2396,11 @@ msgstr "Aktuelle Zeit"
 msgid "Polygon"
 msgstr "Vieleck (Polygon)"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Eckpunkt Liste"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "definiere die Ecken des Vielecks"
 
@@ -2283,101 +2412,153 @@ msgstr "Form"
 msgid "Internal"
 msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
-msgstr "Layer_Shape (Ebenenform) Farbe"
+msgstr "Farbe der Ebene"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr "Art des Schleiers"
+msgstr "Art der Unschärfe"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
-msgstr "zu benutzende Art des Schleiers"
+msgstr "zu benutzende Art der Unschärfe"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Kurvenreicher Stil"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "zu benutzender Kurvenreicher Stil "
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Nicht Null"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Gerade/Ungerade"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Skelett"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Name"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Knochen"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Farbfläche"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Gerundet"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Datei kann nicht geöffnet werden"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Schalter"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Aktive Ebene"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr "Nur die hier angegebene Ebene ist sichtbar"
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "'%s' kann nicht rekursiv geladen werden"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unerwartetes Element <%s>, Erwartet <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unerwartetes Element <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Zu viele Warnungen"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "in <%s> fehlt \"%s\" Attribut"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> sollte nichts enthalten"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "in <%s> fehlt \"value\" Attribut"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Ungültiger Wert  \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "In <%s> fehlt \"pos\" Attribut"
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "<animated> kann nicht als Typ \"%s\" erzeugt werden"
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "In <waypoint> fehlt Attribut \"time\" (Zeit) "
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2385,388 +2566,408 @@ msgstr ""
 "\"use\" Attribut für <waypoint> gefunden, war nicht leer. Inhalt "
 "ignoriert.... "
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Unbekannte ID (%s) im Wegpunkt referenziert"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "In <%s> fehlen Daten"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Ungültige Daten für <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Unerwartetes Element <%s> nach <waypoint> Daten, ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "fehlendes Attribute \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Ungültiger Typ in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Fehler bei Erstellung Wertknoten <%s> mit Typ '%s'.  Verweis auf '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> hat Typ '%s' nicht akzeptiert"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' war bereits definiert in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' Attribut in <%s> referenziert unbekannte ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
-"Verknüpfung '\"%s\" zu Wertknoten \"%s\" setzen nicht möglich (Verknüpfung #"
-"%d in \"%s\")"
+"'\"%s\" konnte nicht mit Wertknoten \"%s\" verbunden werden (Verbindung #%d "
+"in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Unbekannte Ausnahmebedingung bei Referenzierung des Wertknotens \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Element <%s> hat keinen Inhalt"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Parsen von '%s' mißlungen"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
-"Wertknoten ('%s' vom Typ '%s') konnte nicht zu Verknüpfung %d (%s) verbunden "
+"Wertknoten ('%s' vom Typ '%s') konnte nicht mit Verbindung %d (%s) verbunden "
 "werden"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Unbekannte Ausnahmebedingung als an Element \"%s\" gearbeitet wurde"
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> fehlt Verknüpfung %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
-msgstr ""
+msgstr "<list> konnte nicht erstellt werden"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> fehlt der Inhalt oder  or das \"use\" Element"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "<dynamic_list> konnte nicht erstellt werden"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Fehlerhafte Daten in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Ein Wertknoten wurde erwartet. Referenz zu '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Fehlerhafte ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Doppelte ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 " Unbekannte Ausnahmebedingung während Hinzufügen des Wertknotens \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "\"type\" Attribut zum \"layer\" Element fehlt"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "Installierte Version der Ebene ist kleiner als die Version der Ebene in der "
 "Datei"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> Eintrag für <layer> ist noch nicht unterstützt. Ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "<desc> Eintrag für <layer> ist noch nicht unterstützt. Wird ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Fehlendes \"name\" Attribut für <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "\"use\" Attribut für <param> gefunden, war nicht leer. Inhalt ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Leerer use=\"\" Wert in <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Unteranimation '%s' konnte nicht geladen werden"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Ebene wies Aninmationsverknüpfung zurück "
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Unbekannte ID (%s) in Parameter \"%s\" referenziert"
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> hat entweder keinen Inhalt oder kein \"use\" Attribut."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Ungültige Daten für <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Ebene '%s' wies Wert für Parameter '%s' zurück"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Unerwartetes Element <%s> nach <param> Daten, wird ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Animation mit Breite oder Höhe unter 1 ist nicht erlaubt"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
-msgstr ""
+msgstr "Gruppenanimationen können keine <defs>-Elemente haben"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
-msgstr ""
+msgstr "Eingebettete Animationen können keine <bones>-Elemente haben"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
-msgstr ""
+msgstr "Gruppenanimationen können keine Schlüsselbilder haben"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
-msgstr ""
+msgstr "Gruppenanimationen können keine MetaDaten haben"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> benötigt einen Namen"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> benötigt Inhalte"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "leeres \"Name\" Feld "
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "leeres \"Beschreibung\" Feld"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "leeres \"Author\" Feld"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Animation '%s' hat nicht definiertes %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr "Wertpunkt"
+msgstr "Wertknoten"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
-msgstr "Wertpunkte"
+msgstr "Wertknoten"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr "Kann verknüpfte Datei nicht finden"
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Kann Datei nicht öffnen"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version Abweichung (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Vektorgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Farbgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Animationsgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Ebenengröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr "Starte das Subsystem \"Sound\""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr "Subsystem \"Sound\" kann nicht initialisiert werden"
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr "Starte Subsystem  \"Types\""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr "Subsystem \"Types\" kann nicht initialisiert werden"
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Starte Subsystem \"Modules\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Subsystem \"Module\" kann nicht initialisiert werden"
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr "Subsystem \"Modules\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Starte Subsystem \"Layers\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Subsystem \"Layers\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Starte Subsystem \"Targets\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Subsystem \"Targets\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Starte Subsystem \"Importers\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Subsystem \"Importers\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Starte Subsystem \"Cairo Importers\""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Subsystem \"Cairo Importers\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Starte Subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Subsystem \"ValueNodes\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Lade Module von %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Modullistendatei '%s' kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "FERTIG"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "Fehler"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "Warnung"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "Information"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Fehler bei lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Modul '%s' kann nicht geladen werden"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Versuche \"%s\" zu regisirieren"
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Modul \"%s\" (%s) wird nicht gefunden"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Modul \"%s\" gefunden"
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Eintrittspunkt in Modul \"%s\" (%s) nicht gefunden"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Eingangspunkt hat kein Modul zurückgegeben"
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "\"%s\" erfolgreich "
@@ -2804,8 +3005,8 @@ msgstr "%s scheint keine gültige %s Palettendatei zu sein"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s scheint keine unterstützte Palettendatei zu sein"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Verbund"
 
@@ -2839,46 +3040,46 @@ msgstr "Hard Light"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr "Multiply"
+msgstr "Multiplizieren"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr "Divide"
+msgstr "Teilen"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Subtrahieren"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr "Difference"
+msgstr "Differenz"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr "Brighten"
+msgstr "Aufhellen"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr "Darken"
+msgstr "Abdunkeln"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Farbton"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Sättigung"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr "Luminance"
+msgstr "Helligkeit"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
@@ -2886,38 +3087,38 @@ msgstr "Alpha Over"
 
 #: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr "Alpha Brighten"
+msgstr "Alpha aufhellen"
 
 #: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr "Alpha Darken"
+msgstr "Alpha abdunkeln"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Ziel Panik"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Unbekannter Wert(%s), XML Repräsentation kann nicht erzeugt werden!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Unbekannter Wertknoten Typ (%s), kann keine XML Repräsentation erzeugen"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr "Fehler bei Ziel initialisierung"
+msgstr "Fehler bei Zielinitialisierung"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
-msgstr ""
+msgstr "Fehler beim Rendern eines Bildes"
 
 #: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:274
 #: src/synfig/target_scanline.cpp:435
@@ -2926,66 +3127,62 @@ msgstr "Oberfläche kann nicht auf das Ziel gelegt werden"
 
 #: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
-msgstr ""
+msgstr "Nicht unterstützte Rendermethode"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Zeichenkette erhalten :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Zu wenig Speicher (vermutlich ein Programmfehler)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Unbekannten Fehler erhalten, erneute Meldung..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
-msgstr "Ungültige Fliesengröße (tile size)"
+msgstr "Ungültige Kachelgröße (tile size)"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Erweiterter Renderer Fehler"
 
 #: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
-msgstr ""
+msgstr "Ungültige Oberfläche: %s"
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Oberfläche auf Ziel legen nicht möglich"
 
 #: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
-msgstr ""
+msgstr "Konnte Startbild nicht erstellen"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Fehler im parametrischen Renderer"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Ungültige Oberfläche"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr "Time(): Keine Einheit in time code, Annahme FRAMES (Bilder) (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -2993,314 +3190,230 @@ msgstr ""
 "Time(): Keine Einheit in time code und Bildrate ist unbekannt! Annahme "
 "SEKUNDEN"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "Logisch (bool)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "Ganzzahlig (integer)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "Winkel"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "Zeit"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "Reell (real)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "Vektor"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "Farbe"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "Segment"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "BLine Punkt"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "width_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "dash_item"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "Liste"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "Animation"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "Zeichenkette (string)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "Verlauf"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nichts (nil)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr "spline_point"
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr "Radialer Verbund"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referenz"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segment Tangente"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment Eckpunkt"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Streifen"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Zweifarbig"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Dynamische Liste"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Kreisförmiger Verlauf"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Zeitgesteuerter Wechsel"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Verlauf wiederholen"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Eponentiell"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
-msgstr "Spline Tangente"
+msgstr "Pfadtangente"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
-msgstr "Spline Eckpunkt"
+msgstr "Pfadeckpunkt"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Bereich"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Schalter"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Umgekehrte Tangenten"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reziprok"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Ganzzahl"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
-msgstr "Spline Breite"
+msgstr "Pfadbreite"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vektor Winkel"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vektor Länge"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Farbe für Verlauf"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
-msgstr "Dot Product"
+msgstr "Skalarprodukt"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Zeit Zeichenkette"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Reell"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Reelle Zahl Zeichenkette"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Vereinigte Liste"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Winkel Zeichenkette"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Ganzzahl Zeichenkette"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logarithmus"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Ausgegraut"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Ladung"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Vergleichen"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Nicht"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Und"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Oder"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
-msgstr ""
+msgstr "Knochen-Beeinflussung"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "Knochen"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
-msgstr ""
+msgstr "Übergeordneter Knochen"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
-msgstr ""
+msgstr "Statische Liste"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
-msgstr ""
+msgstr "Knochen-Gewichts-Paar"
+
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "Knochenverknüpfung"
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
-msgstr "WPList"
+msgstr "Wegpunktliste"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
-msgstr "DIList"
+msgstr "Strichliste"
+
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "Mittelwert"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr "Gewichtetes Mittel"
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "Dynamisch"
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "Ableitung"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Ungültiger Typ: Wertknoten '%s' akzeptiert Typ '%s' nicht"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Platzhalter"
 
@@ -3309,45 +3422,51 @@ msgstr "Platzhalter"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d falscher Typ für %s: benötigt %s aber erhielt %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
-msgstr ":Schlechte Type"
+msgstr ":Ungültiger Typ"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Einer oder beide meiner Parameter sind nicht gesetzt!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "Linke Seite"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Linke Seite der Addition"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "Rechte Seite"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Rechte Seite der Addition"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Skalar"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Wert multipliziert das Hinzugefügte"
 
@@ -3371,96 +3490,149 @@ msgstr "Verknüpfung2"
 msgid "Second operand of the AND operation"
 msgstr "Zweiter Operand der UND Operation"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Wert zur Umwandlung in Zeichenkette"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Breite der Zeichenkette"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Genauigkeit"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Dezimalstellen"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "mit Nullen aufgefüllt"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr "links mit Nullen auffüllen?"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Ein Wegpunkt existiert bereits zu diesem Zeitpunkt"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
-msgstr "%s: Du kannst keine %s in einem animierten Wertknoten verwenden"
+msgstr "%s: Es kann kein %s in einem animierten Wertknoten verwendet werden"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animiert"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr "Cosinus des Winkels"
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr "Y"
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "Sinus des Winkels"
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Keine Einträge in der Liste"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Keine Einträge in der Liste ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Eckpunkt %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
-msgstr "Verbundene Spline der Tangente "
+msgstr "Pfad, an den die Tangente verbunden ist"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "Wert wiederholen"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
-msgstr "Position der verbundenen Tangente der Spline (0,1]"
+msgstr "Position der verbundenen Tangente am Pfads (0,1]"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
-msgstr "Abweichung"
+msgstr "Versatz"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Winkelabweichung der Tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Maßstab der Tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Feste Länge"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "feste Länge der Tangente?"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
-msgstr "Tangente basiert auf Spline Länge"
+msgstr "Tangente basiert auf Pfadlänge"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:202
 msgid "The spline where the vertex is linked to"
-msgstr "Spline zu dem der Eckpunkt gehört"
+msgstr "Pfad, zu dem der Eckpunkt gehört"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:212
 msgid "The position of the linked vertex on the Spline (0,1]"
-msgstr "Position des verbundenen Eckpunkts des Spline (0,1]"
+msgstr "Position des verbundenen Eckpunkts am Pfad (0,1]"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:217
 msgid "When checked, the position is Spline length based"
-msgstr "Position des Spline Längenbasiert"
+msgstr "Position basiert auf Pfadlänge"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:207
 msgid "The spline where the width is linked to"
-msgstr "Spline zu dem die Breite gehört"
+msgstr "Pfad, zu dem die Breite gehört"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:217
 msgid "The position of the linked width on the spline (0,1]"
-msgstr "Position der verbundenen Breite des Spline (0,1]"
+msgstr "Position der verbundenen Breite am Pfad (0,1]"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:222
 msgid "Scale of the width"
@@ -3468,219 +3640,438 @@ msgstr "Maßstab der Breite"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:227
 msgid "When checked, the width is spline length based"
-msgstr "Breite basiert auf Länge des Spline"
+msgstr "Breite basiert auf Pfadlänge"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr "Referenzierte Tangente zum Umkehren"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr "Wenn gesetzt, wird die Referenz umgekehrt"
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr "Knochen %d"
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr "Der Name des Knochens"
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr "Übergeordneter Knochen"
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr "Der übergeordnete Knochen dieses Knochens"
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr "Der Ursprung des Knochens, relativ zum übergeordneten Knochen"
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr "Der Rotationswinkel, relativ zum übergeordneten Knochen"
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr "Lokale Längenskalierung"
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+"Die lokale Längenskalierung bestimmt nur die Länge dieses einzelnen Knochens"
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr "Knochenbreite"
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr "Knochenbreite am Ursprung"
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr "Rekursive Längenskalierung"
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+"Die rekursive Längenskalierung wirkt sich sowohl auf die Länge dieses "
+"Knochens, als auch die Länge aller untergeordneten Knochen, aus."
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr "Spitzenbreite"
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr "Knochenbreite an der Spitze"
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr "Z-Tiefe"
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr "Die Z-Tiefe des Knochens"
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr "Basislänge"
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+"Bestimmt die Basislänge des Knochens und den Ursprung für neue Unterknoten"
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr "Wurzel"
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr "Knochen-Gewichts-Liste"
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr "Liste der Knochen, die zum Berechnen der Verzerrung benutzt wurden"
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr "Der durch Knochen beeinflusste Wertknoten"
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr "Der verknüpfte Knochen"
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr "Basiswert"
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr "Knochen verschieben"
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr "Knochen drehen"
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr "Neigung"
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr "Neigen"
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr "X skalieren"
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr "In X-Richtung skalieren"
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr "Y skalieren"
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr "In Y-Richtung skalieren"
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr "Knochen, der für die Verzerrung genutzt wird"
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr "Gewicht"
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr "Relativer Einfluss, den der Knochen auf die Verzerrung hat"
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Linke Seite des Vergleichs (L)"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Rechte Seite des Vergleichs (R)"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Größer"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "L > R ?"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Gleich"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "L = R ?"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Kleiner"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "L < R ?"
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Ungültiger Typ für Komposit"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Rot"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "Rotanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Grün"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "Grünanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Blau"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "Blauanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "Alphawert der Farbe (Transparenz)"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Eckpunkt 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "Erster Eckpunkt des Segments"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "Erste Tangente des Segments"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Eckpunkt 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Zweiter Eckpunkt des Segments"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "Zweite Tangente des Segments"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "X Achse"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "X Achsen Anteil des Vektors"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Y Achse"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "Y Achsen Anteil des Vektors"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Eckpunkt"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
-msgstr "Eckpunkt des Spline Punkts"
+msgstr "Eckpunkt des Pfadpunkts"
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
-msgstr "Breite des Spline Punkts "
+msgstr "Breite des Pfadpunkts "
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Off und On Positionen relativ zu den Nachbarn"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Aufspaltung"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
-msgstr "Tangenten unabhängig?"
+msgstr "Tangenten aufteilen"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
-msgstr "Erste Tangente des Spline Punkts"
+msgstr "Erste Tangente des Pfadpunkts"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
-msgstr "Zweite Tangente des Spline Punkts"
+msgstr "Zweite Tangente des Pfadpunkts"
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr "Radius aufgeteilt"
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr "Radien der Tangenten aufteilen"
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr "Winkel aufgeteilt"
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr "Winkel der Tangenten aufteilen"
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
-msgstr ""
+msgstr "Position des Breitenpunkts innerhalb [0,1] auf dem Pfad"
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
-msgstr "Breite der Breitenpunkte"
+msgstr "Breite des Breitenpunkts"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Seitentyp davor"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "Interpolationstyp des Breitenpunkts"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolieren"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Seitentyp danach"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr "Untere Grenze"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
-msgstr ""
+msgstr "Bestimmt die Position am Anfang des Pfads"
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr "Obere Grenze"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
-msgstr ""
+msgstr "Bestimmt die Position am Ende des Pfads"
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
-msgstr ""
+msgstr "Verschiebung des Strichs auf dem Pfad"
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr "Länge"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr "Länge des Strichs"
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
-msgstr "Seiterntyp Strich"
+msgstr "Seitentyp Strich"
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "Linke Seite des Vergleichs (L)"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr "Der Versatz bzw. die Verschiebung der Ebene für die Transformation"
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "Rechte Seite des Vergleichs (R)"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr "Rotationswinkel für die Transformation"
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Größer"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "Neigungswinkel"
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "L > R ?"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+"Über den Neigungswinkel lässt sich die Ebene schräg stellen, bzw. kursiv "
+"machen."
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Gleich"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr "Skalierung für die Transformation"
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "L = R ?"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr "Das Gewicht des Wertes"
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Kleiner"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Wert"
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "L < R ?"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr "Der Wert"
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr "Erster"
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr "Der Anfang"
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr "Zweiter"
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr "Das Ende"
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
@@ -3694,32 +4085,198 @@ msgstr "Amplitude"
 msgid "Multiplier of the resulting cosine"
 msgstr "Multiplikator des resultierenden Cosinus"
 
-#: src/synfig/valuenode_duplicate.cpp:193
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr "Wert zum Berechnen der Ableitung"
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr "Intervall"
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr "Zeitintervall zum Berechnen der endlichen Unterschiede"
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr "Genauigkeit"
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr "Genauigkeit der Ableitung"
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr "Grob"
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr "Fein"
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr "Extrem"
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr "Grad"
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr "Grad der Ableitung"
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr "Erste Ableitung"
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr "Zweite Ableitung"
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr "Strich %03d"
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr "Die linke Seite des Skalarprodukts"
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr "Die rechte Seite des Skalarprodukts"
+
+#: src/synfig/valuenode_duplicate.cpp:194
 msgid "From"
 msgstr "Von"
 
-#: src/synfig/valuenode_duplicate.cpp:194
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr "Startwert des Indexes"
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr "Bis"
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr "Endwert des Indexes"
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr "Werterhöhung des Index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr "Spitze statisch"
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr "Position des Gleichgewichtspunkts ohne externe Kräfte"
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr "Fundament des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr "Kraft"
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr "Äußere Kraft, die auf den Massenschwerpunkt wirkt"
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr "Drehmoment"
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr "Externer Impuls auf das Trägeheitszentrum"
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr "Dämpfungskonstante"
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr "Radiale Dämpfungskonstante des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr "Reibungskoeffizient"
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr "Reibungskoeffizient bei Rotation des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr "Federkonstante"
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr "Radiale Federkonstante des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr "Torsionskonstante"
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr "Torsionskonstante des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr "Masse"
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr "Masse des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr "Trägheitsmoment"
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr "Trägheitsmoment des dynamischen Systems"
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr "Federsteifigkeit"
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr "Wenn gesetzt, ist die lineare Feder steif"
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr "Torsionssteifigkeit"
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr "Wenn gesetzt, ist die Torsionsfeder steif"
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr "Spitze folgt Ursprung"
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+"Wenn gesetzt, ist das Ergebnis die Summe aus Ursprung + Spitze, ansonsten "
+"nur die Spitze"
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Listentyp/Gegenstandstyp Abweichung, Abweichung wird verworfen"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Gegenstand %03d"
@@ -3736,6 +4293,18 @@ msgstr "Werterhöhung der Konstante 'e'"
 msgid "Multiplier of the resulting exponent"
 msgstr "Multiplikant des Ergebnisses"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr "Verlauf, von dem die Farbe gewählt wird"
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr "Die Position der Farbe im Verlauf (0,1]"
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr "Wenn gesetzt, wird der Index wiederholt"
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "Zu rotierender Quellverlauf "
@@ -3744,58 +4313,88 @@ msgstr "Zu rotierender Quellverlauf "
 msgid "The amount to offset the gradient"
 msgstr "Verschiebung des Verlaufs"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr "Der ausgegraute Wert"
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "umzuwandelnder Ganzzahlwert "
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr "Ganzzahl"
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Zeichenkette"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "Liste der zu verkettenden Zeichenketten"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Davor"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "Zeichenkette vor den verketteten"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Separator"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "Zeichenkette die als Separator eingefügt wird"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Dahinter"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "Zeichenkette hinter den verketteten"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Rate"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Wert, der mit der aktuellen Zeit (in Sekunden) multipliziert wird"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Neigung"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "Rückgabewert für aktuelle Zeit gleich Null"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr "Wertknoten für die Berechnung des natürlichen Algorithmus"
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr "Wert für den Vergleich der Verbindung mit Null."
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Unendlich"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Rückgabewert wenn es gegen unendlich strebt"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NICHT"
@@ -3824,27 +4423,15 @@ msgstr "Basis (Potenzieren)"
 msgid "The power used to raise the base"
 msgstr "Exponent (Potenzieren)"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Wert zum Vergleich Basis und Power mit Null"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Unendlich"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Rückgabewert wenn es gegen unendlich strebt"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Ungültiger Typ für Radialkomposit"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Helligkeit"
 
@@ -3860,57 +4447,33 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "Winkel des Vektors zur X-Achse"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Manche meiner Parameter sind nicht gesetzt!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Rückgabewert wenn kleiner"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Rückgabewert wenn größer"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "Wertknoten zur Begrenzung des Bereichs"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Wert zur Umwandlung in Zeichenkette"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Breite der Zeichenkette"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Genauigkeit"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Dezimalstellen"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "mit Nullen aufgefüllt"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr "links mit Nullen auffüllen?"
+msgstr "Umzuwandelnde reelle Zahl"
 
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
@@ -3943,8 +4506,9 @@ msgstr "Wiederholungen des Verlaufs"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr "Voreinstellung der Quelle gradeint für Wiederholung [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr ""
+"Gibt an, wie stark sich der Quellverlauf auf die Wiederholung [0,1] auswirkt."
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -3980,16 +4544,16 @@ msgstr "Endfarbe"
 msgid "Used as the end of the resulting gradient"
 msgstr "als Ende für den Verlauf"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Versuch die Umkehrung eines nicht umkehrbaren Wertknotens"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "Wertknoten für Skalierung"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Multiplikationswert des Wertknotens"
 
@@ -4022,29 +4586,31 @@ msgstr "Winkel zur Sinuserrechnung"
 msgid "The value that multiplies the resulting sine"
 msgstr "Multiplikationswert des Sinus"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "Wertknoten für den Schritt"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "Dauer des Schritts"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Start Zeit"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "Zeit zu der die Schrittveränderung startet"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Unterteilung"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
+"Mit diesem Wert kann angegeben werden, ob der Schritt zwischen [0,1] "
+"zentriert ist"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4074,15 +4640,15 @@ msgstr "Anzahl der Streifen im Verlauf"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Breite der Streifen im Verlauf dazwischen [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Linke Seite der Subtraktion"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Rechte Seite der Subtraktion"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Multiplikator für die Subtraktion"
 
@@ -4104,26 +4670,26 @@ msgstr "Wertknoten für 'an'"
 
 #: src/synfig/valuenode_switch.cpp:164
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
-msgstr "wenn gewählt 'Verbindung an', sonst 'verbindung aus'"
+msgstr "Wenn gewählt 'Verbindung an', sonst 'Verbindung aus'"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr "Wertknoten wenn aktuelle Zeit ist vor 'time' -  'length'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr "Wertknoten wenn aktuelle Zeit nach 'time'"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Zeit"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "Zeit wann die lineare Interpolation endet"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4136,10 +4702,14 @@ msgid "The value node to time loop"
 msgstr "Wertknoten für Zeitschleife"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Startzeit der Schleife für die Wertknoten Zeitlinie"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr "Länge der Schleife"
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "in Zeichenkette umzuwandelnde Zeit"
 
@@ -4151,555 +4721,546 @@ msgstr "Startfarbe des Verlaufs"
 msgid "The end color of the gradient"
 msgstr "Endfarbe des Verlaufs"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "Vektor zur Winkelberechnung"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "Vektor zur Längenberechnung"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "Vektor zur X-Koordinatenberechnung"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "Vektor zur Y-Koordinatenberechnung"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr "gewichtetes Mittel"
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Breitenpunkt %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr "gewichtet"
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Synfig Versionsabweichung"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Einstellungen"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
-msgstr ""
+msgstr "Dateiformat der Ausgabe (Standart: PNG)"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
+"Bildbreite in Pixeln (Für Bildbreite des Dokuments einfach 0 eintragen)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
-msgstr ""
+msgstr "Bildhöhe in Pixeln (Für Bildhöhe des Dokuments einfach 0 angeben)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Setze die Diagonale Größe des Bildfensters (San)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Setzen den Antialias Wert für den Parametrischen Renderer"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
+"Bildqualität für das Rendern: Höhere Qualität bewirkt längere Renderzeit "
+"(Standart: %d)"
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
+"Anzahl der Threads zum Rendern angeben, um Multithreading zu aktivieren"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
-msgstr ""
+msgstr "Eingabedateiname angeben"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr "Nenne Ausgabedateiname"
+msgstr "Ausgabedateiname angeben"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
-msgstr ""
+msgstr "Trennzeichen für Bildfolgen (Anführungszeichen für Leerstelle)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Rendere die Animation mit der gegebenen ID statt der Wurzel (root)"
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Setzen der Bildwiederholrate"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Rendere ein Bild in <seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Setzen der Startzeit"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Setzen der Endezeit"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Physikalische Auflösung (DPI Punkte pro Zoll)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Physikalische X-Auflösung (DPI Punkte pro Zoll)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Physikalische Y-Auflösung (DPI Punkte pro Zoll)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
-msgstr ""
+msgstr "Schalteroptionen"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
-msgstr ""
+msgstr "Level der Ausgabeausführlichkeit"
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Stiller Modus (keine Fortschritts-/Restzeit- Anzeige)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
-msgstr ""
+msgstr "Benchmarks anzeigen"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
-msgstr ""
+msgstr "Alpha extrahieren"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
-msgstr ""
+msgstr "Sonstige Optionen"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Füge Ebenen in <filename> zur Komposition hinzu"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
-msgstr "Drucke gewählte Details der Basisanimation"
+msgstr "Gewählte Details der Basisanimation anzeigen"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
-msgstr ""
+msgstr "Liste der exportierten Animationen in der Komposition anzeigen"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
-msgstr ""
+msgstr "FFMPEG Zieloption"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
-msgstr ""
+msgstr "Das Codec für das Video. Siehe --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
-msgstr ""
+msgstr "Bitrate für das Ausgabevideo"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
-msgstr ""
+msgstr "Optionen für Synfiginformationen"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
-msgstr ""
+msgstr "Zeige diese Hilfsmeldung"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr "Drucke die Liste der verfügbaren Importfunktionen"
+msgstr "Liste der verfügbaren Importfunktionen anzeigen"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
-msgstr "Drucke div. Build Informationen aus"
+msgstr "Diverse Build-Informationen anzeigen"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr "Drucke die Liste der verfügbaren Ebenen"
+msgstr "Liste der verfügbaren Ebenen anzeigen"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr "Drucke Ebenenbeschreibung, Parameter Informationen, etc."
+msgstr "Ebenenbeschreibung, Parameter Informationen, etc. anzeigen"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr "Drucke Lizenzinformation aus"
+msgstr "Lizenzinformationen anzeigen"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr "Drucke Liste der geladenen Module"
+msgstr "Liste der geladenen Module anzeigen"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr "Drucke die Liste der verfügbaren Ziele"
+msgstr "Liste der verfügbaren Ziele anzeigen"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
-msgstr ""
+msgstr "Liste der verfügbaren Videocodecs von FFMPEG anzeigen"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
-msgstr "Drucke die Liste der verfügbaren Wertknoten"
+msgstr "Liste der verfügbaren Wertknoten anzeigen"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr "Drucke Versionsinformation aus"
+msgstr "Versionsinformationen anzeigen"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
-msgstr ""
+msgstr "Synfig-Debug-Flags"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Test GUID Generierung"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Test Signal Implementierung"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr "Gib 'synfig --help' ein, um weitere Informationen zu erhalten."
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nichts zu tun!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Zie / Ausgabedatei wird ermittelt..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "Ziel Name undefiniert, versuche ihn herauszufinden"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Standardmäßig auf PNG Ziel gesetzt..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
-msgstr ""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
+msgstr "Es konnte keine Ausgabe für \"%s\" erstellt werden: %s"
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Auftrag wird verworfen..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Erstelle das Ziel..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
-msgstr ""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
+msgstr "Unbekanntes Ziel für \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Setze die Animation auf dem Ziel..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Setze die Qualität des Ziels..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
-msgstr ""
+msgstr "Setze Alpha-Modus für das Ziel..."
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
-msgstr ""
+msgstr "Renderfehler."
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Rendern..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
-msgstr ""
+msgstr ": gerendert in"
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr " Sekunden."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Fertig."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Unbekannte Animation Variable:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Erkannte Variablen sind:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "Erläuterungen gesetzt auf"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
-msgstr ""
+msgstr "Threads gesetzt auf"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
-msgstr ""
+msgstr "Ebenenname: "
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Lokaler Ebenenname:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "Version: "
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
-msgstr ""
+msgstr "Parameter - "
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
-msgstr ""
+msgstr "(nicht kritisch)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
-msgstr ""
+msgstr "\tLokaler Name: "
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\tBeschreibung: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "\tHinweis: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Antialiasing gesetzt auf %d, (%d Samples pro Pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Spanne gesetzt auf %d Einheiten"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Bildwiederholrate gesetzt auf %d Bilder pro Sekunde"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Physikalische Auflösung auf %f dpi gesetzt"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Physikalische X Auflösung auf %f dpi gesetzt"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Physikalische Y Auflösung auf %f dpi gesetzt"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Bild rendern bei "
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
-msgstr ""
+msgstr "Der Gamma-Wert wird momentan ignoriert"
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
-msgstr ""
+msgstr "Sowohl Video-Codec als auch -Bitrate werden benötigt"
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
-msgstr ""
+msgstr "Videocodec \"%s\" wird nicht unterstützt"
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
-msgstr ""
+msgid "Unable to load file '%s'."
+msgstr "Die Datei '%s' konnte nicht geladen werden."
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
-msgstr ""
+msgstr "Es wurde keine Eingabedatei angegeben."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
-msgstr ""
+msgstr "Ziel gesetzt auf"
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Qualität wurde gesetzt auf"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
+"Animation mit ID \"%s\" in %s konnte nicht gefunden werden.\n"
+"Auftrag wird verworfen..."
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
+"Ungültiger Animationsname \"%s\" in %s.\n"
+"Auftrag wird verworfen..."
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Kann nicht hinzufügen '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Hinzugefügte Inhalte von"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "End Zeit"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Bildrate"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Startbild"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Endbild"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Bild Seitenverhältnis"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Pixel Breite"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Pixel Höhe"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Pixel Verhältnis"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Oben Links"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Unten Rechts"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Physikalische Breite"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Physikalische Höhe"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X Auflösung"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y Auflösung"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Bilddiagonale"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Verschachtelt"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Antialias"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Falgs"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Fokus"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Hintergrundfarbe"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Metadaten"
diff --git a/po/el_GR.gmo b/po/el_GR.gmo
index 7602ec0..02058f7 100644
Binary files a/po/el_GR.gmo and b/po/el_GR.gmo differ
diff --git a/po/el_GR.po b/po/el_GR.po
index 15d65da..df4a111 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/synfig/"
 "language/el_GR/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Παράδειγμα"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Χρώμα"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Χρώμα γεμίσματος της στρώσης"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Σημείο 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Σημείο 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Κέντρο"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Κέντρο του κύκλου"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Ακτίνα"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Αυτή είναι η ακτίνα του κύκλου"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Κείμενο"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Άλλο"
 
@@ -199,6 +50,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Χρώμα"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -213,6 +75,7 @@ msgstr "Στυλ"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -429,7 +299,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,28 +338,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,16 +440,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -660,7 +595,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -671,15 +606,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -695,7 +629,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -713,6 +647,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Ακτίνα"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -753,6 +698,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Κέντρο"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -773,50 +726,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -829,40 +771,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -870,6 +812,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Κέντρο του κύκλου"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Αυτή είναι η ακτίνα του κύκλου"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -946,58 +901,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,10 +913,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,30 +993,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Παράδειγμα"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Χρώμα γεμίσματος της στρώσης"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Σημείο 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Σημείο 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1125,7 +1134,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1204,126 +1213,55 @@ msgid "Halftone 3"
 msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Χρώμα"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1366,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1435,7 +1373,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1481,6 +1419,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1557,7 +1566,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1565,7 +1576,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1581,12 +1592,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1605,7 +1616,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1622,7 +1633,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1641,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1669,11 +1681,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1702,54 +1714,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1782,7 +1799,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1798,16 +1815,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1837,7 +1854,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1865,54 +1882,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1977,6 +1996,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1984,8 +2004,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2038,66 +2058,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Χρώμα"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2117,24 +2244,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2174,7 +2302,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2198,56 +2326,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2255,11 +2374,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2271,479 +2390,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2781,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2822,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2844,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2871,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2905,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2939,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2948,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3283,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3345,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3432,228 +3592,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3668,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3710,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3718,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3798,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3834,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3917,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3954,16 +4497,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3996,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4048,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4080,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4108,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4123,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4358,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 58c3d46..294e067 100644
Binary files a/po/en_GB.gmo and b/po/en_GB.gmo differ
diff --git a/po/en_GB.po b/po/en_GB.po
index f2b9484..658eccc 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -1,24 +1,24 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# berteh <berteh at hotmail.com>, 2012
-# berteh <berteh at hotmail.com>, 2012
+# Bertrand <berteh at hotmail.com>, 2012
+# Bertrand <berteh at hotmail.com>, 2012
 # d.j.a.y, 2012
 # d.j.a.y, 2012
 # d.j.a.y, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
-# pixelgeek <pxe.geek at gmail.com>, 2012
-# pixelgeek <pxe.geek at gmail.com>, 2012
-# readmanr <robert_readman at hotmail.com>, 2011
-# readmanr <robert_readman at hotmail.com>, 2011
+# Chris Norman <pxe.geek at gmail.com>, 2012
+# Chris Norman <pxe.geek at gmail.com>, 2012
+# Robert Readman <robert_readman at hotmail.com>, 2011
+# Robert Readman <robert_readman at hotmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
 "synfig/language/en_GB/)\n"
@@ -28,166 +28,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Filled Rectangle"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Example"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Colour"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Fill colour of the layer"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Point 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "First corner of the rectangle"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Point 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Second corner of the rectangle"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Feather X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Feather Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Bevel"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Use Bevel for the corners"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Keep Bevel Circular"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "When checked the bevel is circular"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Balls"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radii"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Weights"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradient Left"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradient Right"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Positive Only"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Simple Circle"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centre"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centre of the circle"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Radius"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "This is the radius of the circle"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Other"
 
@@ -207,6 +58,17 @@ msgstr "empty font set"
 msgid "Text to Render"
 msgstr "Text to Render"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Colour"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Colour of the text"
@@ -221,6 +83,7 @@ msgstr "Style"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -233,6 +96,7 @@ msgid "Italic"
 msgstr "Italic"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Weight"
 
@@ -273,8 +137,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Describes how close lines of text are vertically"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -294,16 +158,17 @@ msgid "Text Orientation"
 msgstr "Text Orientation"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origin"
 
@@ -336,96 +201,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Turn this off if you are going to be animating the text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Invert"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "No face loaded, no text will be rendered."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Text too small, no text will be rendered."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Unable to set face size."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Invalid multibyte sequence - is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Can't parse multibyte character.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Bevel"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stylise"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Type of blur to use"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Box Blur"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Fast Gaussian Blur"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Cross-Hatch Blur"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gaussian Blur"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Disc Blur"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Hi-Colour"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Lo-Colour"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Light Angle"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Depth of Bevel"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Softness"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Use Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Solid"
 
@@ -437,7 +307,7 @@ msgstr "Region Set"
 msgid "Set of regions to combine"
 msgstr "Set of regions to combine"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Clamp"
 
@@ -476,28 +346,101 @@ msgstr "Floor"
 msgid "Lower boundary of the clamping"
 msgstr "Lower boundary of the clamping"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Curve Warp"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distortions"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Width"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "How much the result is expanded perpendicularly to the source line"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Start Point"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "First point of the source line"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "End Point"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Final point of the source line"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vertices"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Fast"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "When checked, renders quickly but with artefacts"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Import Image"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Filename seems to already be set to \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Filename"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "File to import"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Time Offset"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Time Offset to apply to the imported file"
 
@@ -505,17 +448,9 @@ msgstr "Time Offset to apply to the imported file"
 msgid "Inside Out"
 msgstr "Inside Out"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distortions"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Defines the where the centre will be"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -668,7 +603,7 @@ msgstr "Offset Outside"
 msgid "Scale Outside"
 msgstr "Scale Outside"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Rotate"
 
@@ -679,15 +614,14 @@ msgstr "Transform"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Point where you want the origin to be"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -703,7 +637,7 @@ msgstr "Amount of rotation"
 msgid "Shade"
 msgstr "Shade"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Size of Shade"
 
@@ -713,7 +647,7 @@ msgid "Spherize"
 msgstr "Spherize"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Position"
 
@@ -721,6 +655,17 @@ msgstr "Position"
 msgid "Where the sphere distortion is centered"
 msgstr "Where the sphere distortion is centred"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radius"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "The size of the sphere distortion"
@@ -761,6 +706,14 @@ msgstr "Stretch"
 msgid "Size of the stretch relative to its Center"
 msgstr "Size of the stretch relative to its Centre"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centre"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Where the stretch distortion is centred"
@@ -781,50 +734,39 @@ msgstr "Frequency of the Strobe in times per second"
 msgid "Super Sample"
 msgstr "Super Sample"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Unable to create SurfaceTarget"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Width"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Width of sample area (In pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Height"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Height of sample area (In pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Use Parametric"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Use the Parametric Renderer"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Be Alpha Safe"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Avoid alpha artifacts when checked"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Time Loop"
@@ -837,40 +779,40 @@ msgstr "Link Time"
 msgid "Start time of the loop for the cycled context"
 msgstr "Start time of the loop for the cycled context"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Local Time"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "The time when the resulted loop starts"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duration"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Length of the loop"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Only For Positive Duration"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "When checked will loop only positive durations"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symmetrical"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "When checked, loops are mirrored centred on Local Time"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Translate"
 
@@ -878,6 +820,19 @@ msgstr "Translate"
 msgid "Twirl"
 msgstr "Twirl"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centre of the circle"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "This is the radius of the circle"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotations"
@@ -954,58 +909,6 @@ msgstr "Horizon"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Height that determines the horizon in perspectives"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Curve Warp"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "How much the result is expanded perpendicularly to the source line"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Start Point"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "First point of the source line"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "End Point"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Final point of the source line"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vertices"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Fast"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "When checked, renders quickly but with artefacts"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "XOR Pattern"
@@ -1018,10 +921,11 @@ msgstr "Centre of the pattern"
 msgid "Size of the pattern"
 msgstr "Size of the pattern"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Scale"
 
@@ -1033,59 +937,59 @@ msgstr "Amount to scale to"
 msgid "Point to scale from"
 msgstr "Point to scale from"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Unable to open %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s is not in BMP format"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Reading compressed bitmaps is not supported"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr " (animated)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Unable to open file"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Unable to write file header to file"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Unable to write info header"
 
@@ -1097,37 +1001,137 @@ msgstr "Unable to write info header"
 msgid "Unable to open pipe to encodedv"
 msgstr "Unable to open pipe to encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Filled Rectangle"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Example"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Fill colour of the layer"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Point 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "First corner of the rectangle"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Point 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Second corner of the rectangle"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Feather X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Feather Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Use Bevel for the corners"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Keep Bevel Circular"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "When checked the bevel is circular"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Balls"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Radii"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Weights"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradient Left"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradient Right"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Positive Only"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Simple Circle"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Unable to open pipe to ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Unable to open pipe to ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Unable to open pipe to ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Unable to open pipe to ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Unable to open pipe to ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1138,7 +1142,7 @@ msgstr "Blur"
 msgid "Blurs"
 msgstr "Blurs"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Size of Blur"
 
@@ -1252,13 +1256,13 @@ msgstr "Size of blur"
 msgid "Fade Out"
 msgstr "Fade Out"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Checkerboard"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Advanced Outline"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1266,77 +1270,6 @@ msgstr "Checkerboard"
 msgid "Geometry"
 msgstr "Geometry"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Colour of checkers"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Centre of the checkers"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Size of checkers"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Circle"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Radius of the circle"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Feather"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Amount of feather of the circle"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Invert the circle"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Falloff"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Determines the falloff function for the feather"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linear"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Squared"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Square Root"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Cosine"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "Advanced Outline"
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1379,37 +1312,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "Rounded Stop"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Squared Stop"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Peak Stop"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Flat Stop"
 
@@ -1449,7 +1382,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1495,6 +1428,77 @@ msgstr "Dash Items Offset"
 msgid "Distance to Offset the Dash Items"
 msgstr "Distance to Offset the Dash Items"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Checkerboard"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Colour of checkers"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Centre of the checkers"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Size of checkers"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Circle"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Radius of the circle"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Feather"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Amount of feather of the circle"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Invert the circle"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Falloff"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Determines the falloff function for the feather"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linear"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Squared"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Square Root"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosine"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Outline"
@@ -1571,7 +1575,9 @@ msgstr "The radius of the inner points in the star"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angle"
 
@@ -1579,7 +1585,7 @@ msgstr "Angle"
 msgid "The orientation of the star"
 msgstr "The orientation of the star"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Points"
 
@@ -1595,12 +1601,12 @@ msgstr "Regular Polygon"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Whether to draw a star or a regular polygon"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Unable to open \"%s\" for write access!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Description not set!"
 
@@ -1619,7 +1625,7 @@ msgstr "Gradients"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1636,7 +1642,7 @@ msgstr "Rotation of the gradient around the centre"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "When checked the gradient is looped"
@@ -1655,25 +1661,26 @@ msgid "Global width of the gradient"
 msgstr "Global width of the gradient"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Loop"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZigZag"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "When checked the gradient is symmetrical at the centre"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1683,11 +1690,11 @@ msgstr "Perpendicular"
 msgid "Linear Gradient"
 msgstr "Linear Gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Start point of the gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "End point of the gradient"
 
@@ -1716,54 +1723,59 @@ msgstr "Clockwise"
 msgid "When checked the spiral turns clockwise"
 msgstr "When checked the spiral turns clockwise"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "No file to load"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Unable to open "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Unable to get frame from "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Bad surface from "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Unable to open pipe to imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Reached end of stream without finding PPM header"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "stream not in PPM format"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Premature end of file (after header)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Premature end of file"
 
@@ -1796,7 +1808,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Change to modify the random seed of the noise"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
@@ -1812,16 +1824,16 @@ msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubic"
@@ -1851,7 +1863,7 @@ msgid "When checked produces turbulent noise"
 msgstr "When checked produces turbulent noise"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Random"
 
@@ -1879,56 +1891,58 @@ msgstr "Super Sampling"
 msgid "When checked the gradient is supersampled"
 msgstr "When checked the gradient is supersampled"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Link"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "The value node source that provides the central value"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "The value of the maximum random difference"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Seeds the random number generator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Speed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Defines how often a new random value is chosen (in choices per second) "
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determines how the value is interpolated from one random choice to the next"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "No interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Loop Time"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Makes the random value repeat after the given time"
 
@@ -1995,6 +2009,7 @@ msgstr ""
 "size, and an alpha of 1.0 is used when rendering"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Reverse"
 
@@ -2002,8 +2017,8 @@ msgstr "Reverse"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "If enabled, render the plant in the opposite direction"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Step"
 
@@ -2057,66 +2072,173 @@ msgstr "Use Width"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s was not in PPM format"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "bool"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "integer"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "angle"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "time"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vector"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "colour"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "width_point"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "dash_item"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "list"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "canvas"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "string"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradient"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "No images in list"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "in line"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Units"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Inches"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metres"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimetres"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimetres"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Cannot open empty filename"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): Couldn't find extension"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Unknown file type -- "
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Unable to create surface target"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z Depth"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifies the position of the layer in the layer stack"
 
@@ -2136,24 +2258,25 @@ msgstr "Bottom-Right"
 msgid "Lower right-hand Corner of image"
 msgstr "Lower right-hand Corner of image"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Alpha channel of the layer"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Blend Method"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr "The blending method used to composite on the layers below"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Duplicate"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Index"
 
@@ -2193,7 +2316,7 @@ msgstr "Subsampling Type"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Curve Type For Weighting Subsamples"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Constant"
 
@@ -2217,56 +2340,47 @@ msgstr "Subsample End Amount"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relative Amount Of The Last Subsample, For Linear Weighting"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Canvas"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Size of canvas"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Time Offset to apply to the context"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "When checked prevents to select the children using the mouse click"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Focus Point"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Point to remain fixed when zooming"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Outline Grow"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Exponential value to grow children Outline layers width"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Current Time"
 
@@ -2274,11 +2388,11 @@ msgstr "Current Time"
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Vertices List"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Define the corners of the polygon"
 
@@ -2290,101 +2404,153 @@ msgstr "Shape"
 msgid "Internal"
 msgstr "Internal"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Layer_Shape Colour"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Type of Feather"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Type of feathering to use"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Winding Style"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Winding style to use"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Non Zero"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Even/Odd"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Name"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Solid Colour"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Rounded"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Unable to open file"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Switch"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "cannot load '%s' recursively"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unexpected element <%s>, Expected <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Too many warnings"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> is missing \"%s\" attribute"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> should not contain anything"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> is missing \"value\" attribute"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Bad value \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> is missing \"pos\" attribute"
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Unable to create <animated> with type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> is missing attribute \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2392,148 +2558,148 @@ msgstr ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Unknown ID (%s) referenced in waypoint"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> is missing its data"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Bad data for <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Unexpected element <%s> after <waypoint> data, ignoring..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Missing attribute \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Bad type in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> did not accept type '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' was already defined in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribute in <%s> references unknown ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Unknown Exception thrown when referencing ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "element <%s> is missing its contents"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Parse of '%s' failed"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Unknown Exception thrown when working on element \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> is missing link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> is missing its contents or missing \"use\" element"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Unable to create <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Bad data in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Expected a ValueNode.  Refer to '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Bad ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplicate ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Unknown Exception thrown when adding ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Missing \"type\" attribute to \"layer\" element"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr "Installed layer version is smaller than layer version in file"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> entry for <layer> is not yet supported. Ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> entry for <layer> is not yet supported. Ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Missing \"name\" attribute for <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2541,233 +2707,253 @@ msgstr ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Empty use=\"\" value in <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Failed to load subcanvas '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Layer rejected canvas link"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Unknown ID (%s) referenced in parameter \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 "<param> is either missing its contents, or missing a \"use\" attribute."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Bad data for <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Layer '%s' rejected value for parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Unexpected element <%s> after <param> data, ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Canvas with width or height less than one is not allowed"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> must have a name"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> must have content"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "blank \"name\" entity"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "blank \"desc\" entity"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "blank \"author\" entity"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Canvas '%s' has undefined %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "ValueNodes"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Can't open file"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version mismatch (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Size of Vector mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Size of Colour mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Size of Canvas mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Size of Layer mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Starting Subsystem \"Modules\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Unable to initialise subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Starting Subsystem \"Layers\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Unable to initialise subsystem \"Layers\""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Starting Subsystem \"Targets\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Unable to initialise subsystem \"Targets\""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Starting Subsystem \"Importers\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Unable to initialise subsystem \"Importers\""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Starting Subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Unable to initialise subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Loading modules from %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Unable to open module list file '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "DONE"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "error"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "warning"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "info"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Errors on lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Unable to load module '%s'"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Attempting to register \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Unable to find module \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Found module \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Unable to find entrypoint in module \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Entrypoint did not return a module."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "Success for \"%s\""
@@ -2805,8 +2991,8 @@ msgstr "%s does not appear to be a valid %s palette file"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s does not appear to be a supported palette file"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Composite"
 
@@ -2846,13 +3032,13 @@ msgstr "Multiply"
 msgid "Divide"
 msgstr "Divide"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Add"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Subtract"
 
@@ -2868,12 +3054,12 @@ msgstr "Brighten"
 msgid "Darken"
 msgstr "Darken"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Hue"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturation"
 
@@ -2895,23 +3081,23 @@ msgstr "Alpha Darken"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Target panic"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Unknown value(%s), cannot create XML representation!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "Unknown ValueNode Type (%s), cannot create an XML representation"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Target initialisation failure"
 
@@ -2929,32 +3115,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Caught string :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Ran out of memory (Probably a bug)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Caught unknown error, rethrowing..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Bad Tile Size"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Accelerated Renderer Failure"
 
@@ -2963,8 +3145,8 @@ msgstr "Accelerated Renderer Failure"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Unable to put surface on target"
 
@@ -2972,20 +3154,20 @@ msgstr "add_tile():Unable to put surface on target"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Parametric Renderer Failure"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Bad surface"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -2993,314 +3175,230 @@ msgstr ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "bool"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
+msgstr "Radial Composite"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "integer"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "Reference"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "angle"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "time"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "real"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vector"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "colour"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "segment"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "bline_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "width_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "dash_item"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "list"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "canvas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "string"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "gradient"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nil"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr "Radial Composite"
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr "Reference"
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segment Tangent"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment Vertex"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Stripes"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Two-Tone"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Dynamic List"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Gradient Rotate"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sine"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Timed Swap"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Repeat Gradient"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponential"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Range"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Switch"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Reverse Tangent"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciprocal"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Integer"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vector Angle"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vector Length"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vector X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vector Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Gradient Colour"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Dot Product"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Time String"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Real"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Real String"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Joined List"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Angle String"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Int String"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logarithm"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Greyed"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Power"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Compare"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Not"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "And"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Or"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Bad type: ValueNode '%s' doesn't accept type '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Placeholder"
 
@@ -3309,45 +3407,51 @@ msgstr "Placeholder"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d wrong type for %s: need %s but got %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":Bad type "
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "One or both of my parameters aren't set!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Left Hand Side of the addition"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Right Hand Side of the addition"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Scalar"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Value that multiplies the addition"
 
@@ -3371,74 +3475,127 @@ msgstr "Link2"
 msgid "Second operand of the AND operation"
 msgstr "Second operand of the conjunction"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Value to convert to string"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Width of the string"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precision"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Number of decimal places"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Zero Padded"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr "When checked, the string is left filled with zeros to match the width"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "A waypoint already exists at this point in time"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: You cannot use a %s in an animated ValueNode"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animated"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "No entries in list"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "No entries in ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "When checked, the amount loops"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Offset"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Angle offset of the tangent"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Scale of the tangent"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Fixed Length"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "When checked, the tangent's length is fixed"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3470,256 +3627,633 @@ msgstr "Scale of the width"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "The left hand side of the comparison"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "The right hand side of the comparison"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Greater"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "When checked, returns true if LHS > RHS"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Equal"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "When checked, returns true if LHS = RHS"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Less"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "When checked, returns true if LHS < RHS"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Bad type for composite"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Red"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "The red component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Green"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "The green component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Blue"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "The blue component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "The alpha of the colour"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "The first vertex of the segment"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangent 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "The first tangent of the segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "The second vertex of the segment"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangent 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "The second tangent of the segment"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "X-Axis"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "The X-Axis component of the vector"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Y-Axis"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "The Y-Axis component of the vector"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Defines the Off and On positions relative to neighbours"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Split"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "When checked, tangents are independent"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "The width of the Width Point"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Side Type Before"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "Defines the interpolation type of the width point"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolate"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Side Type After"
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
-msgstr "Lower Boundary"
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr "Lower Boundary"
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr "Upper Boundary"
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Length"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr "The length of the Dash Item"
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr "Defines the side type of the dash item"
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Value"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "Value to calculate the cosine"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Amplitude"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr "Multiplier of the resulting cosine"
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "From"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "Initial value of the index "
+
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "To"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Final value of the index"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
+msgstr "Amount increment of the index"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
-msgstr "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Length"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
-msgstr "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
-msgstr "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "The left hand side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "The right hand side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Greater"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Equal"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Less"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
-msgstr "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
-msgstr "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "From"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
-msgstr "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "To"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
-msgstr "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
-msgstr "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "List type/item type mismatch, throwing away mismatch"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Item %03d"
@@ -3736,6 +4270,18 @@ msgstr "The value to raise the constant 'e'"
 msgid "Multiplier of the resulting exponent"
 msgstr "Multiplier of the resulting exponent"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "The source gradient to rotate"
@@ -3744,58 +4290,88 @@ msgstr "The source gradient to rotate"
 msgid "The amount to offset the gradient"
 msgstr "The amount to offset the gradient"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "The integer value to be converted"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Strings"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "The List of strings to join"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Before"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "The string to place before the joined strings"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Separator"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "The string to place between each string joined"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "After"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "The string to place after the joined strings"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Rate"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Value that is multiplied by the current time (in seconds)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Slope"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "Returned value when the current time is zero"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Infinite"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Returned value when result tends to infinite"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NOT"
@@ -3824,27 +4400,15 @@ msgstr "The base to be raised to the power"
 msgid "The power used to raise the base"
 msgstr "The power used to raise the base"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Value used to compare base or power with zero "
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Infinite"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Returned value when result tends to infinite"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Bad type for radialcomposite"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luma"
 
@@ -3860,58 +4424,34 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "The angle of the vector with the X axis"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Some of my parameters aren't set!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Returned value when 'Link' is smaller"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Returned value when 'Link' is greater"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "The value node to limit its range"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Value to convert to string"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Width of the string"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Precision"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Number of decimal places"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Zero Padded"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr "When checked, the string is left filled with zeros to match the width"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "The value node used to calculate its reciprocal"
@@ -3944,9 +4484,8 @@ msgstr "The number of repetition of the gradient"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr ""
 "Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -3984,16 +4523,16 @@ msgstr "End Colour"
 msgid "Used as the end of the resulting gradient"
 msgstr "Used as the end of the resulting gradient"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Attempting to get the inverse of a non invertible Valuenode"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "The value node used to scale"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Value that multiplies the value node"
 
@@ -4026,27 +4565,27 @@ msgstr "The angle the sine is calculated from"
 msgid "The value that multiplies the resulting sine"
 msgstr "The value that multiplies the resulting sine"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "The value node used to make the step"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "The duration of the step"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Start Time"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "The time when the step conversion starts"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Intersection"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4078,15 +4617,15 @@ msgstr "Number of stripes in the gradient"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Width of stripes in the gradient between [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Left Hand Side of the subtraction"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Right Hand Side of the subtraction"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Value that multiplies the subtraction"
 
@@ -4110,24 +4649,24 @@ msgstr "The value node returned when the switch is on"
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr "When checked, returns 'Link On', otherwise returns 'Link Off'"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr "The value node returned when current time is before 'time' - 'length'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr "The value node returned when current time is after 'time'"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Time"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "The time when the linear interpolation ends"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4140,10 +4679,14 @@ msgid "The value node to time loop"
 msgstr "The value node to time loop"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "The time that is converted to string"
 
@@ -4155,555 +4698,538 @@ msgstr "The start colour of the gradient"
 msgid "The end color of the gradient"
 msgstr "The end colour of the gradient"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vector"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "The vector the angle is calculated from"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "The vector the length is calculated from"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "The vector the X coordinate is extracted from"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "The vector the Y coordinate is extracted from"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "WidthPoint %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Synfig Version Mismatch"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Settings"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Set the diagonal size of image window (Span)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Set antialias amount for parametric renderer."
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Specify output filename"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Render the canvas with the given id instead of the root."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Set the frame rate"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Render a single frame at <seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Set the starting time"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Set the ending time"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Quiet mode (No progress/time-remaining display)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Append layers in <filename> to composition"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "Print out specified details of the root canvas"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Print out the list of available importers"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Print out misc build information"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Print out the list of available layers"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Print out layer's description, parameter info, etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Print out license information"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "Print out the list of loaded modules"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Print out the list of available targets"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "Print out the list of available ValueNodes"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Print out version information"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Test GUID generation"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Test signal implementation"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nothing to do!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Attempting to determine target/outfile..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "Target name undefined, attempting to figure it out"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Defaulting to PNG target..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Throwing out job..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Creating the target..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Setting the canvas on the target..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Setting the quality of the target..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Rendering..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Done."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Unrecognised canvas variable: "
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Recognised variables are:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "verbosity set to "
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Antialiasing set to %d, (%d samples per pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Span set to %d units"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Frame rate set to %d frames per second"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Physical resolution set to %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Physical X resolution set to %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Physical Y resolution set to %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Rendering frame at "
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Quality set to "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Unable to append '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Appended contents of "
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "End Time"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Frame Rate"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Start Frame"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "End Frame"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Image Aspect Ratio"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Pixel Width"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Pixel Height"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Pixel Aspect Ratio"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Top Left"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Bottom Right"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Physical Width"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Physical Height"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X Resolution"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y Resolution"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Diagonal Image Span"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Interlaced"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Antialias"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Flags"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Focus"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Background Colour"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Metadata"
diff --git a/po/es.gmo b/po/es.gmo
index 68ddf2d..50bfa2e 100644
Binary files a/po/es.gmo and b/po/es.gmo differ
diff --git a/po/es.po b/po/es.po
index 322ed2a..1b27f66 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Spanish (http://www.transifex.com/projects/p/synfig/language/"
 "es/)\n"
@@ -24,166 +24,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Rectángulo Relleno"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Ejemplo"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Color"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Color de relleno de la capa"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punto 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Primera esquina del rectángulo"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punto 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Segunda esquina del rectángulo"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Desvanecimiento X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Desvanecimiento Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Bisel"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Usar bisel para las esquinas"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Mantener bisel circular"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Cuando está marcado el bisel es circular"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradiente"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Bolas"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radios"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Pesos"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradiente Izquierda"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradiente Derecha"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Sólo Positivo"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Círculo Simple"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centro"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centro del círculo"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Radio"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Este es el radio del círculo"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Otro"
 
@@ -203,6 +54,17 @@ msgstr "juego de fuentes vacío"
 msgid "Text to Render"
 msgstr "Texto para Renderizar"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Color"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Color del texto"
@@ -217,6 +79,7 @@ msgstr "Estilo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -229,6 +92,7 @@ msgid "Italic"
 msgstr "Cursiva"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Peso"
 
@@ -269,8 +133,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Describe cuánto de juntos están los glifos verticalmente"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -290,16 +154,17 @@ msgid "Text Orientation"
 msgstr "Orientación del texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origen"
 
@@ -332,98 +197,103 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Desmarque esto si va a animar el texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Invertir"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Ninguna fuente cargada, no se mostrará ningún texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Texto demasiado pequeño, no se mostrará ningún texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Imposible establecer el tamaño de fuente."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Secuencia multibyte inválida - se ha establecido el lenguaje local?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 "No puedo traducir carácter multibyte.\n"
 "\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Bisel"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Estilizar"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Tipo de desenfoque a usar"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Desenfoque \"Box\""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Desenfoque Gaussiano rápido"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Desenfoque Mallado"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Desenfoque Gaussiano"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Desenfoque Disco"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Color Claro"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Color Oscuro"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Angulo de la Luz"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Profundidad del Bisel"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Suavidad"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Usar \"Luma\""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Sólido"
 
@@ -435,7 +305,7 @@ msgstr "Conjunto Región"
 msgid "Set of regions to combine"
 msgstr "Conjunto de Regiones a combinar"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Recortar"
 
@@ -474,28 +344,102 @@ msgstr "Inferior"
 msgid "Lower boundary of the clamping"
 msgstr "Límite inferior del recorte"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Combar por Curva"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distorsiones"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Posición del spline destino"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Espesor"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+"Cuanto se amplía el resultado perpendicularmente a la línea a combar curvado"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Punto Inicial"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Primer punto de la línea a combar curvado"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Punto Final"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Punto final de la línea a combar curvado"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vértices"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Lista de puntos de spline hacia donde la línea origen se curva"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Rápido"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Cuando está marcado, muestrea rápidamente, pero con artefactos"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importar Imagen"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Parece que el archivo ya ha sido llamado \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Nombre del Archivo"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Archivo a importar"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Desfase de Tiempo"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Desfase de tiempo para el archivo importado"
 
@@ -503,17 +447,9 @@ msgstr "Desfase de tiempo para el archivo importado"
 msgid "Inside Out"
 msgstr "Al revés"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distorsiones"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Define donde estará el centro"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -666,7 +602,7 @@ msgstr "Desplazamiento Exterior"
 msgid "Scale Outside"
 msgstr "Escala Exterior"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Rotar"
 
@@ -677,15 +613,14 @@ msgstr "Transformar"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Apunta donde usted quiera que esté el origen"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -701,7 +636,7 @@ msgstr "Cantidad de Rotación"
 msgid "Shade"
 msgstr "Sombra"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Tamaño de Sombra"
 
@@ -711,7 +646,7 @@ msgid "Spherize"
 msgstr "Esferizar"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Posición"
 
@@ -719,6 +654,17 @@ msgstr "Posición"
 msgid "Where the sphere distortion is centered"
 msgstr "Donde se centra la distorsión esférica"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radio"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "El tamaño de la distorsión esférica"
@@ -759,6 +705,14 @@ msgstr "Encoger"
 msgid "Size of the stretch relative to its Center"
 msgstr "El tamaño de la distorsión relativo a su Centro"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centro"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Donde la distorsión se centra"
@@ -779,50 +733,39 @@ msgstr "Frecuencia del estroboscopio en veces por segundo"
 msgid "Super Sample"
 msgstr "Super Muestreo"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Imposible crear Superficie Objetivo"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Espesor"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Espesor del área de muestreo (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Altura"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Altura del área de muestreo (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Usa Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Usa el Renderizado Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Estar a salvo de Transparencia"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Evita artefactos alfa cuando está marcado"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Bucle de Tiempo"
@@ -835,40 +778,40 @@ msgstr "Tiempo del Enlace"
 msgid "Start time of the loop for the cycled context"
 msgstr "Tiempo de inicio del bucle para el contexto sobre el que se aplica"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Tiempo Local"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "El momento en que el bucle se inicia"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duración"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Longitud del bucle"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Solo para Duración positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "Cuando está marcado se repetirá sólo para duraciones positivas"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Simétrico"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Cuando está marcado, los bucles se reflejan centrados en Tiempo Local"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Trasladar"
 
@@ -876,6 +819,19 @@ msgstr "Trasladar"
 msgid "Twirl"
 msgstr "Torbellino"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centro del círculo"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Este es el radio del círculo"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotaciones"
@@ -952,59 +908,6 @@ msgstr "Horizonte"
 msgid "Height that determines the horizon in perspectives"
 msgstr "La altura que determina el horizonte de las perspectivas"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Combar por Curva"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr "Posición del spline destino"
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-"Cuanto se amplía el resultado perpendicularmente a la línea a combar curvado"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Punto Inicial"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Primer punto de la línea a combar curvado"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Punto Final"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Punto final de la línea a combar curvado"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vértices"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr "Lista de puntos de spline hacia donde la línea origen se curva"
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Rápido"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Cuando está marcado, muestrea rápidamente, pero con artefactos"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Estampado XOR"
@@ -1017,10 +920,11 @@ msgstr "Centro del patrón"
 msgid "Size of the pattern"
 msgstr "Tamaño del patrón"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Escala"
 
@@ -1032,59 +936,59 @@ msgstr "Cantidad a escalar"
 msgid "Point to scale from"
 msgstr "Punto desde el que se escala"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Imposible abrir %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s no está en formato BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Fallo mientras se leía BITMAPFILEHEADER desde %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
+msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Falló mientras leía BITMAPINFOHEADER desde %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
+msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Mal BITMAPFILEHEADER in %s. (bfOffsetBits=%d, debería ser %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Mal BITMAPINFOHEADER in %s. (biSize=%d, debería ser 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
+msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Lectura de bitmaps comprimidos no esta soportado"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Profundidad de bit no soportado (bit_count=%d, debería ser 24 o 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr " (animado)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Imposible abrir archivo"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Imposible escribir la cabecera al archivo"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Imposible escribir la información de cabecera"
 
@@ -1096,37 +1000,137 @@ msgstr "Imposible escribir la información de cabecera"
 msgid "Unable to open pipe to encodedv"
 msgstr "Imposible abrir tubería para encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Rectángulo Relleno"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Ejemplo"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Color de relleno de la capa"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punto 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Primera esquina del rectángulo"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punto 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Segunda esquina del rectángulo"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Desvanecimiento X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Desvanecimiento Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Usar bisel para las esquinas"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Mantener bisel circular"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Cuando está marcado el bisel es circular"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradiente"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Bolas"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Radios"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Pesos"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradiente Izquierda"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradiente Derecha"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Sólo Positivo"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Círculo Simple"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Imposible abrir tubería para ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Imposible abrir tubería para ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Imposible abrir tubería para ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Imposible abrir tubería para ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Imposible abrir tubería para ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1137,7 +1141,7 @@ msgstr "Desenfoque"
 msgid "Blurs"
 msgstr "Desenfoques"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Tamaño del Desenfoque"
 
@@ -1236,106 +1240,35 @@ msgid " Mask Angle"
 msgstr "Ángulo Máscara"
 
 #: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr "Clave Luma"
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr "Desenfoque Radial"
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr "Tamaña del Desenfoque"
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr "Fundido"
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Cuadrícula"
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr "Geometría"
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Color de la cuadrícula"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Centro de la cuadrícula"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Tamaño de la cuadrícula"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Círculo"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Radio del círculo"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Desvanecimiento"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Cantidad de desvanecimiento del círculo"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Invertir el círculo"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Caída"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Determina la función de caída del desvanecimiento"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linear"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Cuadrado"
+msgid "Luma Key"
+msgstr "Clave Luma"
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Raíz Cuadrada"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
+msgstr "Desenfoque Radial"
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmoidea"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
+msgstr "Tamaña del Desenfoque"
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Coseno"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
+msgstr "Fundido"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr "Contorno Avanzado"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr "Geometría"
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "No vértices en el spline"
@@ -1379,37 +1312,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "Parada Redondeada"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Parada Cuadrada"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Parada en Punta"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Parada Plana"
 
@@ -1449,7 +1382,7 @@ msgstr "Determina la interpolación entre withpoints. (0) Lineal (1) Suave"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1498,6 +1431,77 @@ msgstr "Desplazamiento de los elementos guión"
 msgid "Distance to Offset the Dash Items"
 msgstr "Distancia a desplazar los elementos guiones"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Cuadrícula"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Color de la cuadrícula"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Centro de la cuadrícula"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Tamaño de la cuadrícula"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Círculo"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Radio del círculo"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Desvanecimiento"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Cantidad de desvanecimiento del círculo"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Invertir el círculo"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Caída"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Determina la función de caída del desvanecimiento"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linear"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Cuadrado"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Raíz Cuadrada"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmoidea"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Coseno"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Contorno"
@@ -1575,7 +1579,9 @@ msgstr "El radio de los puntos interiores de la estrella"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Ángulo"
 
@@ -1583,7 +1589,7 @@ msgstr "Ángulo"
 msgid "The orientation of the star"
 msgstr "La orientación de la estrella"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Puntos"
 
@@ -1599,12 +1605,12 @@ msgstr "Polígono Regular"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Si dibuja un polígono regular o una estrella"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Imposible abrir \"%s\" para acceso de escritura!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "¡Sin descripción!"
 
@@ -1623,7 +1629,7 @@ msgstr "Gradientes"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1640,7 +1646,7 @@ msgstr "La rotación del degradado gradiente alrededor del centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Cuando está marcado el gradiente se repite"
@@ -1659,25 +1665,26 @@ msgid "Global width of the gradient"
 msgstr "Ancho global del gradiente"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Bucle"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zig Zag"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Cuando está marcado el gradiente es simétrico en el centro"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1687,11 +1694,11 @@ msgstr "Perpendicular"
 msgid "Linear Gradient"
 msgstr "Gradiente Linear"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Punto de inicio del gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Punto final del gradiente"
 
@@ -1720,54 +1727,59 @@ msgstr "Horario"
 msgid "When checked the spiral turns clockwise"
 msgstr "Cuando está marcado la espiral gira en sentido horario"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Sin archivo a cargar"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Imposible abrir "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Imposible obtener fotograma desde "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Mala superficie desde "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Imposible abrir tubería a imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Alcanzado fin del flujo sin encontrar cabecera PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "flujo sin formato PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Fin de archivo prematuro (después de cabecera)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Prematuro fin de archivo"
 
@@ -1800,7 +1812,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Cambiar para modificar la semilla aleatoria del ruido"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolación"
@@ -1816,16 +1828,16 @@ msgid "Nearest Neighbor"
 msgstr "Vecino más cercano"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cúbico"
@@ -1855,7 +1867,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Cuando está marcado produce ruido turbulento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Aleatorio"
 
@@ -1883,58 +1895,60 @@ msgstr "Super Muestreo"
 msgid "When checked the gradient is supersampled"
 msgstr "Cuando está marcado el gradiente es supermuestreado"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Enlace"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "El valor de nodo origen que proporciona el valor central"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "El valor de la diferencia máxima al azar"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Semilla"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Origina el generador de números aleatorios"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Velocidad"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Define con que frecuencia se elige al azar un valor nuevo (en elecciones por "
 "segundo) "
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determina cómo el valor es interpolado entre una elección al azar y la "
 "siguiente"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Sin interpolación"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Tiempo de Bucle"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Hace que se repita de valor aleatorio después de un tiempo dado"
 
@@ -2005,6 +2019,7 @@ msgstr ""
 "gradiente"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Inversa"
 
@@ -2012,8 +2027,8 @@ msgstr "Inversa"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Si se habilita, la planta se muestra en la dirección opuesta"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Paso"
 
@@ -2069,66 +2084,173 @@ msgstr "Usar Espesor"
 msgid "Scale the velocity by the spline's width"
 msgstr "Escala la velocidad mediante el espesor del spline"
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Mal estatus en Superficie Cairo"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s no estaba en formato PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): No puede Abrir un Archivo vacío"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): No puede econtrar la extensión"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "Booleano"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Tipo de archivo desconocido -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "Entero"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "Ángulo"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "Tiempo"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vector"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Color"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segmento"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "punto_spline"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "matriz"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr "par_hueso_peso"
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "width_point"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "elemento_guión"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "Lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Lienzo"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "Cadena"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "Gradiente"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "objeto_hueso"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "valor_de_nodo_hueso"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Sin imágenes en la lista"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "en línea"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unidades"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Pulgadas"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metros"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milímetros"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centímetros"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): No puede Abrir un Archivo vacío"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): No puede econtrar la extensión"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Tipo de archivo desconocido -- "
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Imposible crear superficie objetivo"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Profundidad Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica la posición de la capa en la pila de capas"
 
@@ -2148,25 +2270,26 @@ msgstr "Abajo-Derecha"
 msgid "Lower right-hand Corner of image"
 msgstr "Esquina inferior derecha de la imagen"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Canal alfa de la capa"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Método de Mezcla"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 "El método de mezcla utilizado para componerse sobre las capas inferiores"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Duplicar"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Índice"
 
@@ -2206,7 +2329,7 @@ msgstr "Tipo de Submuestreo"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Tipo de Curva para el Ponderar el Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Constante"
 
@@ -2230,58 +2353,49 @@ msgstr "Cantidad Final del Submuestreo"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Cantidad Relativa del Último Submuestreo Para Ponderación Lineal"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Grupo"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Lienzo"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr "Contenido del grupo"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Aumento"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Tamaño del Lienzo"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Desplazamiento de tiempo para aplicar al contexto"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Bloquear Descendientes"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 "Cuando está marcado evita seleccionar a las capas descendientes mediante el "
 "clic del ratón"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Punto de Foco"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Punto que permanece fijo cuando se hace zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Crecimiento de espesor"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Valor exponencial para crecer el espesor de las capas Contorno hijas"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Tiempo Actual"
 
@@ -2289,11 +2403,11 @@ msgstr "Tiempo Actual"
 msgid "Polygon"
 msgstr "Polígono"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Lista de Vértices"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Define las esquinas del polígono"
 
@@ -2305,101 +2419,153 @@ msgstr "Forma"
 msgid "Internal"
 msgstr "Interno"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Color de la Capa de Forma"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Tipo de Desvanecimiento"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Tipo de desvanecimiento a usar"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Estilo de Solape"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Estilo de solape a usar"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "No Cero"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Par/Impar"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nombre"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Color Sólido"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Redondeada"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Imposible abrir archivo"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Interruptor"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "No puedo cargar '%s' recursivamente"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Elemento inesperado <%s>, Esperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inesperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Demasiados avisos"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> no se encuentra atributo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> no debería contener nada"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>no se encuentra atributo \"value\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Mal valor \"%s\" en <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> no se encuentra atributo \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Imposible crear  <animated> con el tipo \"%s \""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> ha perdido el atributo \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2407,152 +2573,152 @@ msgstr ""
 "Encontrado \"use\" atributo para <waypoint>, pero no estaba vacío. Ignorando "
 "contenidos..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "ID (%s) desconocido referenciado en interpolación"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> esta perdiendo sus datos"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Mal dato para <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Inesperado elemento <%s> después del dato <waypoint>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Perdido atributo \"type\" en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Mal tipo en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Error creando el Valor de Nodo <%s> con el tipo '%s'. Refiere a '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> no acepta este tipo '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' fue ya definido en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "Atributo '%s' en <%s> hace referencia a un ID desconocido '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Imposible enlazar \"%s\" al Valor de Nodo \"%s\" (enlace #%d en \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Lanzada excepción desconocida cuando se referencia al Valor de Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "El elemento <%s> esta perdiendo su contenido"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Interpretación de '%s' falló"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Imposible conectar el valor de nodo ('%s' de tipo '%s') para enlazar %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Lanzada excepción desconocida al trabajar con el elemento \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s>esta perdiendo el enlace %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr "Imposible crear <list>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> esta perdiendo su contenido o perdiendo el elemento \"use\""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Imposible crear <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Mal dato en <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Esperado un Valor de Nodo. Refiere a '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Mal ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplicado ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Lanzada excepción desconocida al añadir el Valor de Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Perdido atributo \"type\" al elemento \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "Versión de capa instalada es menor que la versión de capa en el fichero"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Entrada <name> para <layer> no está aún soportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Entrada <desc> para <layer> no está aún soportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Pedido atributo \"name\" para <param>"
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2560,232 +2726,252 @@ msgstr ""
 "Encontrado atributo \"use\" para <param>, pero no estaba vacío. Ignorando "
 "contenidos..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Uso vacío=\"\" valor en <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Fallo al cargar el sub-lienzo '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "La capa rechazó el enlace al lienzo"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "ID (%s) desconocido referenciado en parámetro \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> esta perdiendo su contenido o perdiendo un atributo \"use\"."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Mal dato para <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "La capa '%s' rechazó el valor para el parámetro '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Inesperado elemento <%s> después del dato <param>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Lienzo con ancho o alto menor que uno no está permitido"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr "Lienzos de grupo no pueden tener una sección <defs>"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr "Lienzo en línea no puede tener una sección <bones>"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr "Lienzo de un grupo no pueden tener fotogramas clave"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr "Lienzos de un grupo no pueden tener meta datos"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> debe tener un nombre"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> debe tener contenido"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "entidad \"name\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "entidad \"desc\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "entidad \"author\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Lienzo '%s' tiene sin definir '%s':'%s'"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Valor de Nodo"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Valores de Nodos"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "No se puede abrir archivo"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Desajuste en la versión API (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Vector (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Color (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Lienzo (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño de la Capa (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Comenzando Subsistema \"Modules\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Imposible inicializar el subsistema \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Comenzando subsistema \"Layers\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Imposible inicializar el subsistema \"Layers\""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Comenzando subsistema \"Targets\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Imposible comenzar el subsistema \"Targets\""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Comenzando subsistema \"Importers\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Imposible inicializar el subsistema \"Importers\""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr "Comenzando subsistema \"Cairo Importers\""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr "Imposible comenzar el subsistema \"Cairo Importers\""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Comenzando subsistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Imposible inicializar el subsistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Cargando módulos desde %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Imposible abrir archivo de lista de módulos '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "HECHO"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "error"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "precaución"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "información"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Errores en lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Imposible cargar módulo \"%s\""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Intentando registrar \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Imposible encontrar módulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Encontrado módulo \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Imposible encontrar punto de entrada en módulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Punto de entrada no devuelve un módulo."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "Éxito para \"%s\""
@@ -2823,8 +3009,8 @@ msgstr "%s no parece ser un archivo de paleta %s válido"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s no parece ser un archivo de paleta soportado"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Componer"
 
@@ -2864,13 +3050,13 @@ msgstr "Multiplicar"
 msgid "Divide"
 msgstr "Dividir"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Sumar"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Restar"
 
@@ -2886,12 +3072,12 @@ msgstr "Clarear"
 msgid "Darken"
 msgstr "Oscurecer"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Tono"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturación"
 
@@ -2913,24 +3099,24 @@ msgstr "Oscurecer transp."
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Pánico en Formato"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Desconocido valor (%s), ¡no puedo crear una representación XML!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Desconocido Tipo de Valor de Nodo (%s), no puedo crear una representación XML"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Fallo de inicialización de formato"
 
@@ -2948,32 +3134,28 @@ msgid "Not supported render method"
 msgstr "Método de renderizado no soportado"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Cadena cogida :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Sin memoria (Probablemente un fallo)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Cogido error desconocido, relanzando..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr "Mal estatus en Superficie Cairo"
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Mal tamaño de enlosado"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Fallo de Renderizado Acelerado"
 
@@ -2982,8 +3164,8 @@ msgstr "Fallo de Renderizado Acelerado"
 msgid "Bad surface: %s"
 msgstr "Mala superficie: %s"
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Imposible poner la superficie en el objetivo"
 
@@ -2991,21 +3173,21 @@ msgstr "add_tile():Imposible poner la superficie en el objetivo"
 msgid "Can't start frame"
 msgstr "No puedo comenzar el fotograma"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Fallo de Renderizado Paramétrico"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Mala superficie"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 "Time(): Unidad de tiempo no proporcionada, asumiendo FOTOGRAMAS (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -3013,314 +3195,230 @@ msgstr ""
 "Time(): ¡Unidad de tiempo no proporcionada y el ratio de fotogramas es "
 "desconocido! Asumiendo SEGUNDOS"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "Booleano"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "Entero"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "Ángulo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "Tiempo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "Real"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "Vector"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "Color"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "Segmento"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "Punto de Spline"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr "matriz"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr "par_hueso_peso"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "width_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "elemento_guión"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "Lista"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "Lienzo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "Cadena"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "Gradiente"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr "objeto_hueso"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr "valor_de_nodo_hueso"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nulo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr "punto_spline"
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr "Composición Radial"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referencia"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente de Segmento"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Vértice de Segmento"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Bandas"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dos Tonos"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Lista Dinámica"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotar Gradiente"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Seno"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Intercambio Temporizado"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Repetir Gradiente"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponencial"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr "Tangente de Spline"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr "Vértice de Spline"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Rango"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Interruptor"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Coseno"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Revertir Tangente"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Recíproco"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Entero"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr "Espesor de Contorno"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Ángulo de Vector"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Longitud de Vector"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "X de Vector"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Y de Vector"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Gradiente de color"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Producto Escalar"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Cadena de Tiempo"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Real"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Cadena de Real"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Lista Unida"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Cadena de Ángulo"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Cadena de Entero"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logaritmo"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Inalterable"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Potencia"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparar"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Negado"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Y"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "O"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr "Influencia de Hueso"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr "Hueso"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr "Hueso Raíz"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr "Lista Estática"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr "Par Hueso-Peso"
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "Lista de Espesores"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "Lista de Elementos Guión"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Mal tipo: Valor de Nodo %s no acepta el tipo %s"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Casilla"
 
@@ -3329,45 +3427,51 @@ msgstr "Casilla"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d mal tipo para %s: necesito %s pero obtengo %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr "Mal tipo "
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Uno o ambos de mis parámetros no están establecidos!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Parte izquierda de la suma"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Parte derecha de la suma"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Escalar"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Valor que se multiplica la suma"
 
@@ -3391,74 +3495,129 @@ msgstr "Enlace2"
 msgid "Second operand of the AND operation"
 msgstr "El segundo operando de la operación Y"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Valor para convertir a cadena"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Ancho de la cadena"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precisión"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Número de decimales"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Relleno con Ceros"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"Cuando está marcado, la cadena se rellena con ceros a la izquierda para que "
+"coincida con el ancho"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Un punto de interpolación existe actualmente en este punto de tiempo"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: No puede usar %s en un Valor de Nodo animado"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animado"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Sin entradas en la lista"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Sin entradas en ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vértice %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr "El spline donde la tangente esta enlazada"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "Cuando está marcado, la posición de enlace hace bucle"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr "La posición de la tangente enlazada al spline (0,1]"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Desplazamiento"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Ángulo de desplazamiento de la tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Escala de la tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Longitud Fija"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "Cuando está marcado, la longitud de la tangente es fija"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr "Cuando se marca, la tangente se basa en la longitud del spline"
 
@@ -3490,219 +3649,432 @@ msgstr "Escala del espesor"
 msgid "When checked, the width is spline length based"
 msgstr "Cuando se marca, el espesor se basa en la longitud del spline"
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "El lado izquierdo de la comparación"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "El lado derecho de la comparación"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Mayor"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Cuando está marcado, devuelve verdadero si LHS > RHS"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Igual"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Cuando está marcado, devuelve verdadero si LHS = RHS"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Menor"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Cuando está marcado, devuelve verdadero si LHS < RHS"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Mal tipo para componer"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Rojo"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "El componente rojo del color"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Verde"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "El componente verde del color"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Azul"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "El componente azul del color"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "El alfa del color"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vértice 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "El primer vértice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "La primera tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vértice 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "El segundo vértice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "La segunda tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "El eje X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "La componente X del vector"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "El eje Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "La componente Y del vector"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vértice"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr "El vértice del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr "El espesor del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 "Define la posición de apagado y encendido en relación con los puntos vecinos"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Separar"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "Cuando está marcado, las tangentes son independientes"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr "La primera tangente del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr "La segunda tangente del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr "La posición [0,1] del Punto de Espesor sobre el spline"
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "El espesor del Punto de Espesor"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Tipo de Lado anterior"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "Define el tipo de interpolación del punto de espesor"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolar"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Tipo de Lado posterior"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr "Límite inferior"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr "Define la posición al comienzo del Spline"
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr "Límite Superior"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr "Define la posición al final del Spline"
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 "El desplazamiento del elemento guión respecto al anterior sobre el Spline"
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr "Longitud"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr "La longitud del elemento guión"
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr "Define el tipo de lado para el elemento guión"
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "El lado izquierdo de la comparación"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "El lado derecho de la comparación"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Mayor"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "Cuando está marcado, devuelve verdadero si LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Igual"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "Cuando está marcado, devuelve verdadero si LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Menor"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Valor"
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "Cuando está marcado, devuelve verdadero si LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
@@ -3716,34 +4088,198 @@ msgstr "Amplitud"
 msgid "Multiplier of the resulting cosine"
 msgstr "Multiplicador del coseno resultante"
 
-#: src/synfig/valuenode_duplicate.cpp:193
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:194
 msgid "From"
 msgstr "Desde"
 
-#: src/synfig/valuenode_duplicate.cpp:194
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr "Valor inicial del índice"
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr "Hasta"
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr "Valor final del índice"
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr "Cantidad de incremento del índice"
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 "Tipo de lista/tipo de elemento mal emparejado, descartando el "
 "desemparejamiento "
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Elemento %03d"
@@ -3760,6 +4296,18 @@ msgstr "El valor para aumentar la constante \"e\""
 msgid "Multiplier of the resulting exponent"
 msgstr "Multiplicador del exponente resultante"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "El gradiente fuente para rotar"
@@ -3768,58 +4316,88 @@ msgstr "El gradiente fuente para rotar"
 msgid "The amount to offset the gradient"
 msgstr "La cantidad para desplazar el gradiente"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "El valor entero a convertir"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Cadenas"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "La lista de cadenas para unir"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Antes"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "La cadena a colocar previo a las cadenas unidas"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Separador"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "La cadena a colocar entre las cadenas unidas"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Después"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "La cadena a colocar tras las cadenas unidas"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Ratio"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Valor que se multiplica por el tiempo actual (en segundos)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Pendiente"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "El valor devuelto cuando el tiempo actual es cero"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Infinito"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Valor devuelto cuando el resultado tiende a infinito"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NEGADO"
@@ -3848,27 +4426,15 @@ msgstr "La base para ser elevada al exponente"
 msgid "The power used to raise the base"
 msgstr "El exponente para elevar la base"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Valor que se utiliza para comparar la base o el exponente con cero"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Infinito"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Valor devuelto cuando el resultado tiende a infinito"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Mal tipo para composición radial"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luma"
 
@@ -3884,60 +4450,34 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "El ángulo del vector con el eje X"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "¡Algunos de mis parámetros no han sido establecidos!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "El valor devuelto cuando el 'Link' es menor"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "El valor devuelto cuando 'Link' es mayor"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "El valor del nodo para limitar su rango"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr "El valor real a ser convertido"
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Valor para convertir a cadena"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Ancho de la cadena"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Precisión"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Número de decimales"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Relleno con Ceros"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"Cuando está marcado, la cadena se rellena con ceros a la izquierda para que "
-"coincida con el ancho"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "El valor del nodo utilizado para calcular su recíproco"
@@ -3971,9 +4511,8 @@ msgstr "El número de repeticiones del gradiente"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
-"Especifica la cantidad de sesgo para el gradiente en la repetición [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -4013,16 +4552,16 @@ msgstr "Color de Fin"
 msgid "Used as the end of the resulting gradient"
 msgstr "Se utiliza como el final del gradiente resultante"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Intentando obtener la inversa de un Valor de Nodo no invertible"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "El valor del nodo que usado para escalar"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Valor que multiplica el nodo de valor"
 
@@ -4055,27 +4594,27 @@ msgstr "El ángulo sobre el que se calcula el seno"
 msgid "The value that multiplies the resulting sine"
 msgstr "El valor que se multiplica el seno resultante"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "El valor del nodo utilizado para obtener el escalón"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "La duración del escalón"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Tiempo de Inicio"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "El tiempo en el que la conversión de escalón se inicia"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Intersección"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr "Valor que definine si el paso es centrado sobre el valor [0,1]"
 
@@ -4107,15 +4646,15 @@ msgstr "Número de bandas en el gradiente"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Anchura de las bandas del gradiente entre [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Lado izquierdo de la resta"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Lado derecho de la resta"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Valor por el que se multiplica la resta"
 
@@ -4141,27 +4680,27 @@ msgstr ""
 "Cuando está marcado, devuelve el Enlace encendido, de lo contrario devuelve "
 "el Enlace apagado"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 "El valor de nodo devuelto cuando el tiempo actual es anterior a \"tiempo\" - "
 "\"longitud\""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 "El valor de nodo devuelto cuando el tiempo actual es después de \"tiempo\""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Tiempo"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "El tiempo en el que la interpolación lineal finaliza"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4174,10 +4713,14 @@ msgid "The value node to time loop"
 msgstr "El valor de nodo para hacer bucle de tiempo"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Tiempo de inicio del bucle para la línea de tiempo del valor del nodo"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "El tiempo que se convierte en cadena"
 
@@ -4189,89 +4732,97 @@ msgstr "Color de inicio del gradiente"
 msgid "The end color of the gradient"
 msgstr "Color final del gradiente"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vector"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "El vector sobre el que se calcula el ángulo"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "El vector sobre el que se calcula la longitud"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "El vector sobre el que se extrae la coordenada X"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "El vector sobre el que se extrae la coordenada Y"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Punto de Espesor %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Versión de Synfig discordante"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr "Preferencias"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr "Especificar formato de salida (Por defecto PNG)"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 "Establecer el ancho de la imagen en pixels (Usar cero para el de defecto del "
 "fichero)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 "Establecer el alto de la imagen en pixels (Usar cero para el de defecto del "
 "archivo)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Establecer el tamaño de la diagonal del a ventana de la imagen (Span)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Establecer el valor de antialias para el renderizado paramétrico"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 "Especificar la calidad de la imagen para el muestreo acelerado (por defecto: "
 "%d)"
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr "Habilitar muestreo multihilo usando un número de hilos especificado."
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr "Especificar nombre del archivo de entrada"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Especificar nombre del archivo de salida"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
@@ -4279,149 +4830,153 @@ msgstr ""
 "Cadena separadora para secuencia de imágenes (Usar dobles comillas si quiere "
 "usar espacios)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Mostrar el lienzo con el ID dado en lugar del raíz."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Establecer el ratio de fotogramas"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Mostrar un solo fotograma en <segundos>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Establecer el tiempo de comienzo"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Establecer el tiempo de fin"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física (puntos por pulgada)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física en X (puntos por pulgada)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física en Y (puntos por pulgada)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr "Opciones "
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr "Nivel de información de salida"
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Modo silencioso (sin mostrar el progreso/tiempo restante)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr "Imprimir récords"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr "Opciones varias"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Añade las capas en <filename> a la composición"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "Imprime detalles específicos del lienzo raíz"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr "Lista los lienzos exportados en la composición"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr "Opciones de objetivo FFMPEG"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr "Establece el códec para el vídeo. Ver --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr "Establece el ratio de bits para salida de vídeo"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr "Opciones de información de Synfig"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr "Produce este mensaje de ayuda"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Imprimir la lista de importadores disponibles"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Imprimir información de construcción miscelánea"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Imprimir la lista de capas disponibles"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Imprimir la descripión de la capa, información del parámetro, etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Imprimir información de la licencia"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "Imprimir la lista de módulos cargados"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Imprimir la lista de formatos disponibles"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 "Imprimir la lista de códigos de vídeo disponibles cuando se codifica con "
 "FFMPEG"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "Imprimir la lista de Valores de Nodo disponibles"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Imprimir información de la versión"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr "Banderas de depuración de Synfig"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Probar la generación del GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Probar la implementación de la señal"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr "¡Nada para hacer!"
@@ -4434,192 +4989,190 @@ msgstr "Intentando determinar el objetivo de fichero de salida..."
 msgid "Target name undefined, attempting to figure it out"
 msgstr "Nombre de objetivo sin definir, intentando figurar"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr "Usando objetivo por defecto PNG..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
-msgstr "Imposible crear salida para \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
+msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr "Lanzando trabajo..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr "Creando el objetivo..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
-msgstr "Objetivo desconocido para\""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
+msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr "Estableciendo el lienzo del objetivo..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr "Estableciendo la calidad del objetivo..."
 
-#: src/tool/joblistprocessor.cpp:185
-#, fuzzy
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
-msgstr "Estableciendo la calidad del objetivo..."
+msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr "Fallo de Render."
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr "Renderizando..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ": Renderizado en"
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr "segundos."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr "Hecho."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr "Variable de lienzo no reconocida:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr "Las variables reconocidas son:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr "Verbosidad establecida a"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr "Hilos establecidos a"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr "Nombre de la Capa:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr "Nombre Local de la Capa:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr "Versión:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr "parámetro - "
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr "(no crítico)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr "»Nombre Local: "
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr "»Descripción: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr "»Pista: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr "Antialias establecido a %d (%d muestras por punto)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr "Establecer la envergadura a %d unidades"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr "Establecer el ratio de fotogramas a %d fotogramas por segundo"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr "Establecer resolución física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr "Establecida resolución X física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr "Establecida resolución Y física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr "Renderizando fotograma en"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr "El argumento Gamma is ignorado de momento"
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
-msgstr "Establecida resolución a %dx%d"
+msgid "Resolution set to %dx%d."
+msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr "Ambos parámetros códec de vídeo y ratio de bits son necesarios."
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr "Códec de vídeo \"%s\" no está soportado."
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
-msgstr "Establecido el códec de vídeo del objetivo a %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
+msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
-msgstr "Establecido el ratio de bits a %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
+msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
-msgstr "Separador de secuencia del fichero de salida establecido a %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
+msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
-msgstr "Imposible cargar '%s'."
+msgid "Unable to load file '%s'."
+msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr "No se ha suministrado fichero de entrada."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr "Objetivo establecido a "
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr "Calidad establecida a "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
@@ -4628,7 +5181,7 @@ msgstr ""
 "Imposible encontrar lienzo con ID \"%s\" en %s.\n"
 "Descartando trabajo..."
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
@@ -4637,122 +5190,94 @@ msgstr ""
 "Nombre de lienzo invalido \"%s\" en %s.\n"
 "Descartando trabajo..."
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr "Imposible concatenear '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr "Concatenado el contenido de"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr "Tiempo Final"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr "Ratio de Fotogramas"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr "Fotograma Inicial"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr "Fotograma Final"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr "Relación de Aspecto de la Imagen"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr "Ancho del Pixel"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr "Alto del Pixel"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr "Relación de Aspecto del Pixel"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr "Arriba Izquierda"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr "Abajo Derecha"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr "Ancho Físico"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr "Alto Físico"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr "Resolución en X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr "Resolución en Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr "Expansión de la diagonal de la Imagen"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr "Enterlazado"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr "Antialias"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr "Banderas"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr "Foco"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr "Color de Fondo"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr "Metadatos"
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr "Línea"
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr "de"
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr "s"
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr "d"
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr "h"
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr "m"
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s"
diff --git a/po/eu.gmo b/po/eu.gmo
index 3ef2208..482d413 100644
Binary files a/po/eu.gmo and b/po/eu.gmo differ
diff --git a/po/eu.po b/po/eu.po
index 8b4533a..5f1abb0 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -1,15 +1,15 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# alexgabilondo <alexgabi at openmailbox.org>, 2013
+# Alexander Gabilondo <alexgabi at openmailbox.org>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Basque (http://www.transifex.com/projects/p/synfig/language/"
 "eu/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Kolorea"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradientea"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Erradioa"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Beste bat"
 
@@ -198,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Kolorea"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -212,6 +74,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Jatorria"
 
@@ -327,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Alderantzizkatu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Mota"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "Luminantzia"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -428,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -467,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Inportatu irudia"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -659,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -670,15 +605,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -694,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -704,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -712,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Erradioa"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -752,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -772,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -828,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -869,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -945,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1009,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1024,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Ezin da fitxategia ireki"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1088,35 +992,137 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradientea"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1127,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1207,7 +1213,7 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr "Mota"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
@@ -1215,117 +1221,46 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Difuminatu"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Erorketa"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
+msgstr "Kolorea"
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Lineala"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Karratua"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Erro karratua"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "kosinu"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
+msgstr ""
+
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
+msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1368,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1437,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1483,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Difuminatu"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Erorketa"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineala"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Karratua"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Erro karratua"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "kosinu"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1559,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angelua"
 
@@ -1567,7 +1575,7 @@ msgstr "Angelua"
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Puntuak"
 
@@ -1583,12 +1591,12 @@ msgstr "Poligono erregularra"
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1607,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1624,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1643,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1671,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1704,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1784,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolazioa"
@@ -1800,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1839,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1867,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Estela"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1979,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1986,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2040,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Erreala"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Bektorea"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Kolorea"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segmentoa"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Oihala"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unitate"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixelak"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Hazbeteak "
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metroak"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milimetroak"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimetroak"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z sakonera"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2119,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Nahasketa-metodoa"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Bikoiztu"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2176,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Konstantea"
 
@@ -2200,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Taldea"
-
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr "Oihala"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Oihala"
+
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fokatze-puntua"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2257,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2273,479 +2389,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
-msgid "Even/Odd"
+#: src/synfig/layer_shape.cpp:1256
+msgid "Even/Odd"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Izena"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2783,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2824,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2846,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Ñabardura"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturazioa"
 
@@ -2873,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Errorea helburua hasieratzean"
 
@@ -2907,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2941,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2950,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Erreferentzia"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Osokoa"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Erreala"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3285,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3347,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3434,228 +3592,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Gorria"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Berdea"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Urdina"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr "Luzera"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Balioa"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3670,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3712,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3720,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3800,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luminantzia"
 
@@ -3836,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3919,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3956,16 +4497,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3998,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4050,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4082,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Denbora"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4110,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4125,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Bektorea"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr "Ezarpenak"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4360,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr "Errendatzen..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr "Egina."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/eu_ES.gmo b/po/eu_ES.gmo
index 9050d70..15c34a3 100644
Binary files a/po/eu_ES.gmo and b/po/eu_ES.gmo differ
diff --git a/po/eu_ES.po b/po/eu_ES.po
index 7020dd0..6ad8162 100644
--- a/po/eu_ES.po
+++ b/po/eu_ES.po
@@ -1,15 +1,15 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# alexgabilondo <alexgabi at openmailbox.org>, 2013
+# Alexander Gabilondo <alexgabi at openmailbox.org>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/synfig/"
 "language/eu_ES/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Kolorea"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradientea"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Erradioa"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Beste bat"
 
@@ -198,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Kolorea"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -212,6 +74,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Jatorria"
 
@@ -327,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Alderantzizkatu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Mota"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "Luminantzia"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -428,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -467,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Inportatu irudia"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -659,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -670,15 +605,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -694,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -704,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -712,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Erradioa"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -752,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -772,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -828,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -869,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -945,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1009,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1024,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Ezin da fitxategia ireki"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1088,35 +992,137 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradientea"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Ezin da fitxategia ireki"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1127,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1207,7 +1213,7 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr "Mota"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
@@ -1215,117 +1221,46 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Difuminatu"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Erorketa"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
+msgstr "Kolorea"
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Lineala"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Karratua"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Erro karratua"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "kosinu"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
+msgstr ""
+
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
+msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1368,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1437,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1483,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Difuminatu"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Erorketa"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineala"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Karratua"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Erro karratua"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "kosinu"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1559,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angelua"
 
@@ -1567,7 +1575,7 @@ msgstr "Angelua"
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Puntuak"
 
@@ -1583,12 +1591,12 @@ msgstr "Poligono erregularra"
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1607,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1624,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1643,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1671,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1704,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1784,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolazioa"
@@ -1800,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1839,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1867,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Estela"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1979,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1986,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2040,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Erreala"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Bektorea"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Kolorea"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segmentoa"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Oihala"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unitate"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixelak"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Hazbeteak "
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metroak"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milimetroak"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimetroak"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z sakonera"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2119,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Nahasketa-metodoa"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Bikoiztu"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2176,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Konstantea"
 
@@ -2200,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Taldea"
-
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr "Oihala"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Oihala"
+
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fokatze-puntua"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2257,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2273,479 +2389,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
-msgid "Even/Odd"
+#: src/synfig/layer_shape.cpp:1256
+msgid "Even/Odd"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Izena"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2783,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2824,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2846,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Ñabardura"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturazioa"
 
@@ -2873,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Errorea helburua hasieratzean"
 
@@ -2907,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2941,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2950,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Erreferentzia"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Osokoa"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Erreala"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3285,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3347,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3434,228 +3592,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Gorria"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Berdea"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Urdina"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr "Luzera"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Balioa"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3670,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3712,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3720,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3800,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luminantzia"
 
@@ -3836,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3919,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3956,16 +4497,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3998,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4050,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4082,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Denbora"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4110,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4125,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Bektorea"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr "Ezarpenak"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4360,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr "Errendatzen..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr "Egina."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/fa_IR.gmo b/po/fa_IR.gmo
index efe1c22..a815aae 100644
Binary files a/po/fa_IR.gmo and b/po/fa_IR.gmo differ
diff --git a/po/fa_IR.po b/po/fa_IR.po
index 64464fb..4138e4b 100644
--- a/po/fa_IR.po
+++ b/po/fa_IR.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/synfig/"
 "language/fa_IR/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "مستطیل پر"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "مثال"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "رنگ"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "پر کردن رنگ لایه"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "نقطه 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "گوشه ی اول مستطیل"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "نقطه 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "گوشه ی دوم مستطیل"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "پر X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "پر Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "مورب"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "استفاده از گوشه های مورب"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "ابزار خط مورب دایره ای شکل است"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "وقتی که علامت خورده باشد ابزار خط مورب دایره ای  شکل است."
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "فراتوپ ها"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "تغییر رنگ تدریجی"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "توپ ها"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "شعاع"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "وزن"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "تغییر رنگ تدریجی از چپ"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "تغییر رنگ تدریجی از راست"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "فقط مثبت "
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "دایره ی ساده"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "مرکز"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "مرکز دایره"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "شعاع"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "این شعاع دایره است"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "متن"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "سایر"
 
@@ -198,6 +49,17 @@ msgstr "مجموعه فونت خالی"
 msgid "Text to Render"
 msgstr "متن  به بارگزاری صفحه"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "رنگ"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "رنگ متن"
@@ -212,6 +74,7 @@ msgstr "سبک"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "عادی"
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr "کج"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "وزن"
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "توضیح می دهد که خط های متن چقدر به طور عمودی نزدیک هستند"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr "جهت متن"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "منشاء"
 
@@ -327,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "اگر می خواهید متن را پویانمایی کنید این را خاموش کنید "
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "معکوس"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "هیچ  ظاهری بارگذاری نشده ، هیچ متنی رندر نخواهد شد."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "متن خیلی کوچک است، هیچ متنی رندر نخواهد شد."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "ناتوان از تعیین اندازه ی ظاهری"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "دنباله ی چندبایتی نامعتبر- is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "ناتوان از تکه کردن کاراکترهای چندبایتی\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "مورب"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "سبک سازی"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "نوع"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "نوع تیرگی برای استفاده"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "تاری جعبه ای "
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "تاری گاوسی سریع "
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "تاری کراس هچ "
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "تاری گاوسی "
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "تاری دیسک "
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Hi-Color"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Lo-Color"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "نور زاویه ای "
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "عمق ابزار مورب سازی"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "نرمی"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "استفاده از Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "ثابت"
 
@@ -428,7 +298,7 @@ msgstr "قرار دادن محدوده"
 msgid "Set of regions to combine"
 msgstr "مشخص کردن محدوده های ترکیب"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "گیره"
 
@@ -467,28 +337,101 @@ msgstr "کف"
 msgid "Lower boundary of the clamping"
 msgstr "مرز پایین تر گیره"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "پیچاندن منحنی"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "انحراف ها"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "عرض"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "میزان گسترش به خاطر عمود خط منبع"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "نقطه آغاز"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "نقطه ی اول خط منبع"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "نقطه پایان"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "نقطه ی آخر خط منبع"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "رئوس"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "سریع"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "ووقتی که علامت خورده باشد، به سرعت ولی به طور مصنوعی رندر می کند "
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "ورود تصویر"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "به نظر می آید نام فایل قبلا به %s(%s) قرار داده شده است"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "نام فایل"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "فایل برای وارد کردن"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "زمان افست"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "انحراف زمانی برای اعمال بر فایل ورودی"
 
@@ -496,17 +439,9 @@ msgstr "انحراف زمانی برای اعمال بر فایل ورودی"
 msgid "Inside Out"
 msgstr "ورو"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "انحراف ها"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "جایی رو که مرکز هست رو تعریف می کند."
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -659,7 +594,7 @@ msgstr "انحراف در خارج"
 msgid "Scale Outside"
 msgstr "مقیاس خارج"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "چرخاندن"
 
@@ -670,15 +605,14 @@ msgstr "تبدیل"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "نقطه ای که شما می خواهید به منشاء شود را نشان دهید"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -694,7 +628,7 @@ msgstr "مقدار چرخش"
 msgid "Shade"
 msgstr "سایه"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "اندازه سایه"
 
@@ -704,7 +638,7 @@ msgid "Spherize"
 msgstr "کره ای شدن"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "موقعیت"
 
@@ -712,6 +646,17 @@ msgstr "موقعیت"
 msgid "Where the sphere distortion is centered"
 msgstr "جایی انحراف گردی متمرکز می شود "
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "شعاع"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "اندازه انحراف کره"
@@ -752,6 +697,14 @@ msgstr "بسط"
 msgid "Size of the stretch relative to its Center"
 msgstr "اندازه ی بسط نسبت به مرکزش"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "مرکز"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "جایی که انحراف بسط متمرکز می شود"
@@ -772,50 +725,39 @@ msgstr "فراوانی بارق در تعداد دفعات در ثانیه"
 msgid "Super Sample"
 msgstr "فرا نمونه"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "ناتوان از ایجاد سطح مقصد"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "عرض"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "عرض محدوده ی نمونه(به پیکسل)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "ارتفاع"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "ارتفاع محدوده ی نمونه(به پیکسل)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "استفاده پارامتری"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "استفاده از رندر پارامتری"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "آلفا ایمن باش"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "اجتناب از آثار  آلفا هنگامی که علامت خورده باشد"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "حلقه ی زمان"
@@ -828,40 +770,40 @@ msgstr "پیوند زمان"
 msgid "Start time of the loop for the cycled context"
 msgstr "زمان شروع حلقه برای چرخه ی بافت "
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "وقت محلی"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "زمانی که حلقه ی تنتیجه شروع می شود"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "مدت"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "طول حلقه"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "فقط برای مدت مثبت"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "مقتی علامت خورده باشد فقط دوره ی مثبت را حلقه می کند"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "به صورت متقارن"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "اگر علامت خورده باشد، حلقه ها در وقت محلی در مرکز آینه می شوند"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "ترجمه"
 
@@ -869,6 +811,19 @@ msgstr "ترجمه"
 msgid "Twirl"
 msgstr "چرخش"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "مرکز دایره"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "این شعاع دایره است"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "چرخش"
@@ -945,58 +900,6 @@ msgstr "افق"
 msgid "Height that determines the horizon in perspectives"
 msgstr "ارتفاعی که افق را در پرسپکتیو مشخص می کند"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "پیچاندن منحنی"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "میزان گسترش به خاطر عمود خط منبع"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "نقطه آغاز"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "نقطه ی اول خط منبع"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "نقطه پایان"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "نقطه ی آخر خط منبع"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "رئوس"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "سریع"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "ووقتی که علامت خورده باشد، به سرعت ولی به طور مصنوعی رندر می کند "
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "الگوی \"یا\"ی مانع الجمع"
@@ -1009,10 +912,11 @@ msgstr "مرکز الگو"
 msgid "Size of the pattern"
 msgstr "اندازه ی الگو"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1024,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "ناتوان از باز کردن %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s در قالب  BMP نیست"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "خواندنن فایل بیت مپ فشرده پشتیبانی منمی شود"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "عمق بیت پشتیبانی نشده  (bit_count=%d, should be 24 or 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(متحرک)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "ناتوان از باز کردن فایل"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "ناتوان از نوشتن سربرگ فایل"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "ناتوان از نوشتتن اطلاعات سربرگ"
 
@@ -1088,37 +992,137 @@ msgstr "ناتوان از نوشتتن اطلاعات سربرگ"
 msgid "Unable to open pipe to encodedv"
 msgstr "Unable to open pipe to encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "مستطیل پر"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "مثال"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "پر کردن رنگ لایه"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "نقطه 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "گوشه ی اول مستطیل"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "نقطه 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "گوشه ی دوم مستطیل"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "پر X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "پر Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "استفاده از گوشه های مورب"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "ابزار خط مورب دایره ای شکل است"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "وقتی که علامت خورده باشد ابزار خط مورب دایره ای  شکل است."
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "فراتوپ ها"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "تغییر رنگ تدریجی"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "توپ ها"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "شعاع"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "وزن"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "تغییر رنگ تدریجی از چپ"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "تغییر رنگ تدریجی از راست"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "فقط مثبت "
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "دایره ی ساده"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1129,7 +1133,7 @@ msgstr "تیرگی"
 msgid "Blurs"
 msgstr "تار"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "اندازه تاری"
 
@@ -1220,114 +1224,43 @@ msgid " Color"
 msgstr "رنگ"
 
 #: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr "منبع ماسک "
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr "زاویه ماسک "
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr "Luma کلیدی"
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr "تاری گرد"
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr "اندازه تاری"
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr "محو شدن هنگام خروج"
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "شطرنجی"
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr "هندسه"
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "رنگ شطرنجی"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "مرکز شطرنجی ها"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "اندازه مرنبع های شطرنجی"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "دایره"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "شعاع دایره"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "پر"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "مقدار پری دایره"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "دایره برعکس شود"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "میل"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "تعیین میل تابع برای پر شدن"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "خطی"
+msgid " Mask Origin"
+msgstr "منبع ماسک "
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "مربعی"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
+msgstr "زاویه ماسک "
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "ریشه ی مربعی"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
+msgstr "Luma کلیدی"
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
+msgstr "تاری گرد"
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "کسینوس"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
+msgstr "اندازه تاری"
+
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
+msgstr "محو شدن هنگام خروج"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr "هندسه"
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1370,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1439,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1485,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "شطرنجی"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "رنگ شطرنجی"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "مرکز شطرنجی ها"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "اندازه مرنبع های شطرنجی"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "دایره"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "شعاع دایره"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "پر"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "مقدار پری دایره"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "دایره برعکس شود"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "میل"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "تعیین میل تابع برای پر شدن"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "خطی"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "مربعی"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "ریشه ی مربعی"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "کسینوس"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "طرح کلی"
@@ -1561,7 +1565,9 @@ msgstr "شعاع نقاط درونی ستاره "
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "زاویه"
 
@@ -1569,7 +1575,7 @@ msgstr "زاویه"
 msgid "The orientation of the star"
 msgstr "جهت گیری ستاره"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "نقاط"
 
@@ -1585,12 +1591,12 @@ msgstr "چندضلعی منظم"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "ترسیم دایره یا چندضلعی"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "ناتوان از بازکردن  دسترسی نوشتن! \"%s\" به خا"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "توضیحات مشخص نشده است!"
 
@@ -1609,7 +1615,7 @@ msgstr "شیب ها"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1626,7 +1632,7 @@ msgstr "چرخش از سطح شیب دار در اطراف مرکز"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "وقتی که علامت خورده باشد گرادیانت حلقه می شود است "
@@ -1645,25 +1651,26 @@ msgid "Global width of the gradient"
 msgstr "عرض جهانی شیب"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "حلقه"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "زیگ زاگ"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "وقتی که علامت خورده باشد گرادیانت در مرکز متقارن است."
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1673,11 +1680,11 @@ msgstr "عمود"
 msgid "Linear Gradient"
 msgstr "شیب خطی "
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "نقطه شروع شیب"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "نقطه پایان شیب"
 
@@ -1706,54 +1713,59 @@ msgstr "در جهت عقربه های ساعت"
 msgid "When checked the spiral turns clockwise"
 msgstr "اگر علامت زده شد چرخش حلزونی در جهت عقربه های ساعت "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "هیچ قفایلی برای بارگذاری نیست"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "ناتوان از باز کردن"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "ناتوان از  گرفتن از قاب"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "سطح بد از"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Unable to open pipe to imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Reached end of stream without finding PPM header"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "stream not in PPM format"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "انتهای غیرمنتظره ی فایل(بعد از سربرگ)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "انتهای غیرمنتظره ی فایل"
 
@@ -1786,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "الحاق"
@@ -1802,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr "نزدیکترین همسایه"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "زبانه دار کردن"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "مکعب"
@@ -1841,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr "وقتی کهعلامت خورده باشد تولید سر و صدا آشفته می کند"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "تصادفی"
 
@@ -1869,54 +1881,56 @@ msgstr "فرا نمونه سازی"
 msgid "When checked the gradient is supersampled"
 msgstr "وقتی که علامت خورده باشد گرادیانت فرانمونه سازی می شود"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "پیوند"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "The value node source that provides the central value"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "میزان حداکثر تفاوت"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "دانه"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Seeds the random number generator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "سرعت"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "بدون الحاق"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "حلقه زمان"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1981,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "معکوس"
 
@@ -1988,8 +2003,8 @@ msgstr "معکوس"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "گام"
 
@@ -2042,66 +2057,173 @@ msgstr "استفاده از عرض"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "رنگ"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "بخش"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "واحدها"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "پیکسل"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "اینچ"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "متر"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "میلی متر"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "سانتی متر"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2121,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "روش مخلوط"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2178,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2202,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr " بزرگنمایی"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2259,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2275,479 +2389,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
-msgid "Even/Odd"
+#: src/synfig/layer_shape.cpp:1256
+msgid "Even/Odd"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "نام"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "ناتوان از باز کردن فایل"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2785,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2826,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2848,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2875,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2909,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2943,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2952,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3287,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3349,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3444,220 +3600,433 @@ msgstr ""
 msgid "Scale of the width"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "قرمز"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "سبز"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "آبی"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3672,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3714,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3722,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3802,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3838,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3921,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3958,23 +4497,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "بخش"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -4000,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4052,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4084,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "زمان"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4112,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4127,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "گاما"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4362,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/fr.gmo b/po/fr.gmo
index 8a31bf3..e0a0736 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 0f69822..b3a6dda 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,25 +1,28 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Timothée Giet <animtim at gmail.com>, 2011
-# Timothée Giet <animtim at gmail.com>, 2011
+# Animtim <animtim at gmail.com>, 2011
+# Animtim <animtim at gmail.com>, 2011
 # Aurore D <aurore.d at gmail.com>, 2007,2010
-# berteh <berteh at hotmail.com>, 2012
-# berteh <berteh at hotmail.com>, 2012
+# Bertrand <berteh at hotmail.com>, 2012
+# Bertrand <berteh at hotmail.com>, 2013
+# Bertrand <berteh at hotmail.com>, 2012
+# BobSynfig, 2014-2015
+# BobSynfig, 2014
 # d.j.a.y, 2012-2013
-# d.j.a.y, 2013
+# d.j.a.y, 2013-2015
 # d.j.a.y, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
-# Timothée Giet <animtim at gmail.com>, 2011
+# Animtim <animtim at gmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-17 14:53+0000\n"
-"Last-Translator: d.j.a.y\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/synfig/language/"
 "fr/)\n"
 "Language: fr\n"
@@ -28,166 +31,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Rectangle plein"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Exemple"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Couleur"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Remplir couleur du calque"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Point 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Premier coin du rectangle"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Point 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Second coin du rectangle"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Adoucissement X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Adoucissement Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Biseauter"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Biseauter les coins"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Coins Arrondis Circulaires"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Si coché, le biseau est circulaire"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Dégradé"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Boules"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Rayons"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Poids"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Dégradé Gauche"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Dégradé Droit"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Positif Seulement"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Cercle Simple"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centre"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centre du cercle"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Rayon"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Le rayon du cercle"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Autre"
 
@@ -207,6 +61,17 @@ msgstr "Jeu de polices vide"
 msgid "Text to Render"
 msgstr "Texte à Rendre"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Couleur"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Couleur du texte"
@@ -221,6 +86,7 @@ msgstr "Style"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -233,6 +99,7 @@ msgid "Italic"
 msgstr "Italique"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Graisse"
 
@@ -273,8 +140,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Défini la proximité verticale des lignes de texte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -294,16 +161,17 @@ msgid "Text Orientation"
 msgstr "Orientation du Texte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origine"
 
@@ -336,96 +204,102 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "À désactiver si vous animez le texte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Inverser"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Aucune police de chargée, aucun texte ne sera rendu."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Texte trop petit, aucun texte ne sera rendu."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Impossible de définir la taille de la police."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
-msgstr "Séquence multi-octets invalide - La locale est-elle définie ?\n"
+msgstr ""
+"Séquence multi-octets invalide - La langue (locale) est-elle définie ?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Impossible d'analyser la séquence multi-octets.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Biseauter"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Styliser"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Type de flou à utiliser"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Flou \"Boîte\""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Flou Gaussien Rapide"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Flou Hachuré"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Flou Gaussien"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Flou Circulaire"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Éclaircissement"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Ombrage"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Angle d'Éclairage"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Profondeur du Biseau"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Adoucissement"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Utiliser la Luminance"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Solide"
 
@@ -437,7 +311,7 @@ msgstr "Jeu de Région"
 msgid "Set of regions to combine"
 msgstr "Jeu de régions à combiner"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Limiter"
 
@@ -476,28 +350,102 @@ msgstr "Plancher"
 msgid "Lower boundary of the clamping"
 msgstr "Limite inférieure du verrouillage"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Déformation Courbe"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distorsions"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Placement de la Spline de destination"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Largeur"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+"De combien est étendu le résultat perpendiculairement à la ligne source"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Point de Départ"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Premier point de la ligne source"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Point d'Arrivée"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Dernier point de la ligne de source"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vertices"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Liste de Points de Spline avec laquelle la ligne source est courbée"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Rapide"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Si coché, le rendu est plus rapide mais contient des artefacts"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importer une Image"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Il semble que le nom de fichier soit déjà \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Nom de fichier"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Fichier à importer"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Décalage Temporel"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Décalage de Temps à appliquer au fichier importé"
 
@@ -505,16 +453,8 @@ msgstr "Décalage de Temps à appliquer au fichier importé"
 msgid "Inside Out"
 msgstr "À l'envers"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distorsions"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr "Défini le centre"
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -560,7 +500,7 @@ msgstr "Valeur de Base d'Arrêt"
 #: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
-msgstr "Distordre l'Intérieur"
+msgstr "Déformer l'Intérieur"
 
 #: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
@@ -581,7 +521,7 @@ msgstr "Colorer l'Intérieur"
 #: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
-msgstr "Distordre l'Extérieur"
+msgstr "Déformer l'Extérieur"
 
 #: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
@@ -668,7 +608,7 @@ msgstr "Décalage Extérieur"
 msgid "Scale Outside"
 msgstr "Échelle Extérieure"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Rotation"
 
@@ -679,15 +619,14 @@ msgstr "Transformer"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Point où vous souhaitez que l'origine soit"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -703,7 +642,7 @@ msgstr "Angle de rotation"
 msgid "Shade"
 msgstr "Ombrage"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Taille de l'Ombre"
 
@@ -713,7 +652,7 @@ msgid "Spherize"
 msgstr "Rendre sphérique"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Position"
 
@@ -721,6 +660,17 @@ msgstr "Position"
 msgid "Where the sphere distortion is centered"
 msgstr "Lorsque la déformation sphèrique est centrée"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Rayon"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "La taille de la déformation sphèrique"
@@ -736,7 +686,7 @@ msgstr "Couper"
 
 #: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
-msgstr "Lorsque coché, la zone en dehors du rayon n'est pas déformée"
+msgstr "Si coché, la zone en dehors du rayon n'est pas déformée"
 
 #: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
@@ -762,6 +712,14 @@ msgstr "Étirer"
 msgid "Size of the stretch relative to its Center"
 msgstr "Taille de l'étirement par rapport à son Centre"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centre"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Lorsque la déformation étirée est centrée"
@@ -782,50 +740,39 @@ msgstr "Fréquence du Strobe par seconde"
 msgid "Super Sample"
 msgstr "Sur-échantillonner "
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Impossible de créer une Surface Cible"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Largeur"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Largeur de l'échantillon (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Hauteur"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Hauteur de l'échantillon (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Paramétrique"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Utiliser le Rendu Paramétrique"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Considérer l'Alpha"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Eviter les artefacts de transparence si coché"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Boucle Temporelle"
@@ -838,40 +785,40 @@ msgstr "Début du Lien"
 msgid "Start time of the loop for the cycled context"
 msgstr "Début de la boucle pour le contexte bouclé."
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Temps Local"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Le moment où la boucle resultante commence"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durée"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Longueur de la boucle"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Seulement pour les Durées Positives"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "Si coché, boucler seulement les durées positives"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symétrique"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Si coché, les boucles sont reflétés centrés sur le Temps Local"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Décaler"
 
@@ -879,6 +826,19 @@ msgstr "Décaler"
 msgid "Twirl"
 msgstr "Tourbillon"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centre du cercle"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Le rayon du cercle"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotations"
@@ -955,59 +915,6 @@ msgstr "Horizon"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Hauteur qui détermine l'horizon dans les perspectives"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Déformation Courbe"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr "Placement de la Spline de destination"
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-"De combien est étendu le résultat perpendiculairement à la ligne source"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Point de Départ"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Premier point de la ligne source"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Point d'Arrivée"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Dernier point de la ligne de source"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vertices"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr "Liste de Points de Spline avec laquelle la ligne source est courbée"
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Rapide"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Si coché, le rendu est plus rapide mais contient des artefacts"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Motif XOR"
@@ -1020,10 +927,11 @@ msgstr "Centre du motif"
 msgid "Size of the pattern"
 msgstr "Taille du motif"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Échelle"
 
@@ -1035,101 +943,206 @@ msgstr "Montant de la mise à l'échelle"
 msgid "Point to scale from"
 msgstr "Point de départ de la mise à l'échelle"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Impossible d'ouvrir %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s n'est pas au format BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Échec en lisant  BITMAPFILEHEADER depuis %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
+msgstr "Erreur à la lecture de BITMAP::FILEHEADER depuis %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Échec en lisant  BITMAPINFOHEADER depuis %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
+msgstr "Erreur à la lecture de BITMAP::INFOHEADER depuis %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Mauvais BITMAPFILEHEADER dans %s (bfOffsetBits=%d, %d attendu)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr "BITMAP::FILEHEADER incorrect dans %s. (bfOffsetBits=%d, %d attendu)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Mauvais BITMAPINFOHEADER dans %s (bfOffsetBits=%d, 40 attendu)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
+msgstr "BITMAP::INFOHEADER incorrect dans %s. (biSize=%d, %d attendu)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "La lecture des bitmaps compressés n'est pas disponible"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Profondeur de bit non supportée (bit_count=%d, au lieu de 24 ou 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(animé)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Impossible d'ouvrir le fichier"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Impossible d'écrire l'entête du fichier dans ce fichier"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
-msgid "Unable to write info header"
-msgstr "Impossible d'écrire l'entête d'information"
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
+msgid "Unable to write info header"
+msgstr "Impossible d'écrire l'entête d'information"
+
+#: src/modules/mod_dv/trgt_dv.cpp:164 src/modules/mod_dv/trgt_dv.cpp:173
+#: src/modules/mod_dv/trgt_dv.cpp:180 src/modules/mod_dv/trgt_dv.cpp:190
+#: src/modules/mod_dv/trgt_dv.cpp:198 src/modules/mod_dv/trgt_dv.cpp:203
+#: src/modules/mod_dv/trgt_dv.cpp:207 src/modules/mod_dv/trgt_dv.cpp:216
+#: src/modules/mod_dv/trgt_dv.cpp:225
+msgid "Unable to open pipe to encodedv"
+msgstr "Impossible d'établir le transfert vers encodedv"
+
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Rectangle plein"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Exemple"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Remplir couleur du calque"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Point 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Premier coin du rectangle"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Point 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Second coin du rectangle"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Adoucissement X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Adoucissement Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Biseauter les coins"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Coins Arrondis Circulaires"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Si coché, le biseau est circulaire"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Dégradé"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Boules"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Rayons"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Poids"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Dégradé Gauche"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Dégradé Droit"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Positif Seulement"
 
-#: src/modules/mod_dv/trgt_dv.cpp:164 src/modules/mod_dv/trgt_dv.cpp:173
-#: src/modules/mod_dv/trgt_dv.cpp:180 src/modules/mod_dv/trgt_dv.cpp:190
-#: src/modules/mod_dv/trgt_dv.cpp:198 src/modules/mod_dv/trgt_dv.cpp:203
-#: src/modules/mod_dv/trgt_dv.cpp:207 src/modules/mod_dv/trgt_dv.cpp:216
-#: src/modules/mod_dv/trgt_dv.cpp:225
-msgid "Unable to open pipe to encodedv"
-msgstr "Impossible d'établir le transfert vers encodedv"
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Cercle Simple"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
+"Erreur : Le programme FFmpeg n'a pas été trouvé.\n"
+"\n"
+"Veuillez installer \"ffmpeg\" ou \"avconv\" (libav-tools package)."
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr "Impossible d'établir le transfert vers ffmpeg"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Impossible d'établir le transfert vers ffmpeg"
+msgstr "Impossible d'établir le transfert vers ffmpeg  (pid == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Impossible d'établir le transfert vers ffmpeg"
+msgstr ""
+"Impossible d'établir le transfert vers ffmpeg (dup2( p[0], STDIN_FILENO ) == "
+"-1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Impossible d'établir le transfert vers ffmpeg"
+msgstr "Impossible d'établir le transfert vers ffmpeg (echec d'exécutable)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Impossible d'établir le transfert vers ffmpeg"
+msgstr "Impossible d'établir le transfert vers ffmpeg (pas de fichier)"
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1140,7 +1153,7 @@ msgstr "Flou"
 msgid "Blurs"
 msgstr "Flous"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Taille du Flou"
 
@@ -1254,13 +1267,13 @@ msgstr "Taille du flou"
 msgid "Fade Out"
 msgstr "Fondu en Fermeture"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Damier"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Contour Avancé"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1268,77 +1281,6 @@ msgstr "Damier"
 msgid "Geometry"
 msgstr "Géométrie"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Couleur des carreaux"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Centre des carreaux"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Taille des carreaux"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Cercle"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Rayon du cercle"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Adoucissement"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Quantité de feather du cercle"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Inverser le cercle"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Atténuation"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Détermine la fonction d'atténuation pour l'adoucissement"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linéaire"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Carré"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Racine Carrée"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmoïde"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Cosinus"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "Contour Avancé"
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "Pas de vertex dans la spline"
@@ -1382,37 +1324,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "Stop Arrondi"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Stop Carré"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Stop en Piqué"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Stop Plat"
 
@@ -1453,7 +1395,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1501,6 +1443,77 @@ msgstr "Décalage des Pointillés"
 msgid "Distance to Offset the Dash Items"
 msgstr "Distance de Décalage des Pointillés"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Damier"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Couleur des carreaux"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Centre des carreaux"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Taille des carreaux"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Cercle"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Rayon du cercle"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Adoucissement"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Quantité de feather du cercle"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Inverser le cercle"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Atténuation"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Détermine la fonction d'atténuation pour l'adoucissement"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linéaire"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Carré"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Racine Carrée"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmoïde"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosinus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Contour"
@@ -1577,7 +1590,9 @@ msgstr "Le rayon du corps de l'étoile"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angle"
 
@@ -1585,7 +1600,7 @@ msgstr "Angle"
 msgid "The orientation of the star"
 msgstr "L'orientation de l'étoile"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Pointes"
 
@@ -1601,12 +1616,12 @@ msgstr "Polygone Régulier"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Dessine un polygone ou une étoile"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Impossible d'ouvrir \"%s\" en écriture !"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Description non définie !"
 
@@ -1625,7 +1640,7 @@ msgstr "Dégradés"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1642,7 +1657,7 @@ msgstr "Rotation du dégradé autour du centre"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Si coché le dégradé est bouclé"
@@ -1661,25 +1676,26 @@ msgid "Global width of the gradient"
 msgstr "Largeur globale du dégradé"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Boucle"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zigzag"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Si coché le dégradé est symétrique par rapport au centre"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr "Si coché le dégradé à une symétrie centrale"
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1689,11 +1705,11 @@ msgstr "Perpendiculaire"
 msgid "Linear Gradient"
 msgstr "Dégradé Linéaire"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Point de départ du dégradé"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Point de fin du dégradé"
 
@@ -1722,54 +1738,59 @@ msgstr "Sens horaire"
 msgid "When checked the spiral turns clockwise"
 msgstr "Si coché la spirale tourne dans le sens horaire"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Pas de fichier à charger"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr "Impossible de créer un fichier temporaire pour"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Impossible d'ouvrir "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Impossible de récupérer l'image de "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Mauvaise surface depuis "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Impossible d'établir le transfert vers imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Fin de flux atteinte sans trouver l'entête PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "Le flux n'est pas au format PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Fin de fichier prématurée (après l'entête)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Fin de fichier prématurée"
 
@@ -1804,7 +1825,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Modifier la graine aléatoire du bruit"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
@@ -1820,16 +1841,16 @@ msgid "Nearest Neighbor"
 msgstr "Voisinage le plus proche"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubique"
@@ -1859,7 +1880,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Si coché, produit un bruit turbulent"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Aléatoire"
 
@@ -1887,57 +1908,59 @@ msgstr "Sur-échantillonnage "
 msgid "When checked the gradient is supersampled"
 msgstr "Si coché le dégradé est super-échantillonné"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Lien"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "La source de la valeur du noeud qui fournit la valeur centrale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "La valeur de l'écart aléatoire maximal"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Graine"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Distribue le générateur de nombres aléatoires"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Vitesse"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Définit la fréquence à laquelle une nouvelle valeur aléatoire est choisie "
 "(en choix par seconde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Détermine comment est interpolée la valeur d'un choix aléatoire à l'autre"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Aucune interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Temps d'une Boucle"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Répète la valeur aléatoire après le moment donné"
 
@@ -2005,6 +2028,7 @@ msgstr ""
 "valeur alpha de 1 est utilisée pour le rendu."
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Inverser"
 
@@ -2012,8 +2036,8 @@ msgstr "Inverser"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Si actif, rend la plante dans la direction opposée "
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Pas"
 
@@ -2071,66 +2095,175 @@ msgstr "Utiliser la Largeur"
 msgid "Scale the velocity by the spline's width"
 msgstr "Mise à l'échelle de la vitesse en fonction de la largeur de la spline"
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Mauvais état de la Surface Cairo"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+"L'image est trop grande. Sa taille ne doit pas être supérieure à "
+"5000*2000=10000000 px. Actuellement elle est de %d*%d=%d px."
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s n'était pas au format PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open() : Impossible d'ouvrir un fichier vide"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "Importer Svg"
+
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "booléen"
+
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "entier"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "angle"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "réel"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "temps"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vecteur"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "couleur"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "spline_point"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "matrice"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr "poids_ossature_pair"
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "width_point"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "élément_pointillés"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "liste"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "canevas"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "chaîne"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "dégradé"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "objet_ossature"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "noeud_de_valeur_ossature"
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "transformation"
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr "CairoImporter::open() : Impossible d'ouvrir un fichier vide"
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open() : Extension non trouvée"
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr "CairoImporter::open() : Extension non trouvée"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open() : Type de fichier inconnu -- "
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr "CairoImporter::open() : Type de fichier inconnu -- "
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Pas d'images dans la liste"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "Aligné"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unités"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Pouces"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Mètres"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimètres"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimètres"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open() : Impossible d'ouvrir un fichier vide"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open() : Extension non trouvée"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open() : Type de fichier inconnu -- "
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Impossible de créer une surface cible"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Profondeur Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifie la position du calque dans la pile de calques"
 
@@ -2150,24 +2283,25 @@ msgstr "Bas-droite"
 msgid "Lower right-hand Corner of image"
 msgstr "Le Coin en bas à droite de l'image"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Canal Alpha du calque"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Mode de Fusion"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr "Le mode de mélange utilisé pour mélanger avec les calques inférieurs"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Dupliquer"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Index"
 
@@ -2207,7 +2341,7 @@ msgstr "Type de Sous-échantillonnage "
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Type de Courbe pour Pondérer les Sous-échantillons"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Constante"
 
@@ -2233,58 +2367,49 @@ msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 "Quantité Relative du Dernier Sous-échantillon, Pour Pondération Linéaire."
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Groupe"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr "Position du décalage"
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Transformations"
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr "Position, rotation, oblique et échelle"
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Canevas"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr "Grouper le contenu"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Taille du canevas"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Décalage de Temps à appliquer au contexte"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Verrouiller Sous-calques"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr "Verrouillage de la sélection"
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Si coché, interdit de sélectionner les enfants avec la souris"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Point Focal"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Point restant fixe lors du zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Croissance des Contours"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 "Valeur faisant croître de façon exponentiel l'épaisseur des calques Contours "
 "enfants"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Temps Courant"
 
@@ -2292,11 +2417,11 @@ msgstr "Temps Courant"
 msgid "Polygon"
 msgstr "Polygone"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Liste des Sommet"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Définit les coins du polygone"
 
@@ -2308,101 +2433,153 @@ msgstr "Forme"
 msgid "Internal"
 msgstr "Interne"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Couleur du Calque Forme"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Anti-crénelage "
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Type d'Adoucissement"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Type d'adoucissement à utiliser"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Mode de Superposition"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Mode de superposition à utiliser"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Non Zéro"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Pair/Impair"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Squelette"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nom"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Os"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Couleur Pleine"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Arrondi"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Impossible d'ouvrir le fichier"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Commutateur"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Nom du Calque Actif"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr "Seuls les calques avec un nom spécifié sont visibles"
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "ne peut charger '%s' récursivement"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Élément <%s> inattendu, attendait <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Élément <%s> inattendu"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Trop d'avertissements"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> a un attribut \"%s\" manquant"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> devrait être non vide"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "Il manque un attribut \"value\" à <%s>"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Valeur \"%s\" incorrecte dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "Il manque un attribut \"pos\" dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Impossible de créer <animated> de type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "Il manque un attribut \"time\" à <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2410,161 +2587,161 @@ msgstr ""
 "Attribut \"use\" trouvé pour <waypoint>, mais il n'était pas vide. Contenu "
 "ignoré ..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Identifiant inconnu  (%s) utilisé dans le waypoint"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "Il manque des données dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Données incorrectes pour <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Élément <%s> inattendu après les données de <waypoint>. Ignoré ..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Il manque un attribut \"type\" dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Mauvais type dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 "Erreur lors de la création du Nœud de Valeur <%s> avec le type \"%s\". Voir "
 "\"%s\"."
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> n'accepte pas le type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "\"%s\" est déjà défini dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "L'attribut \"%s\" dans <%s> fait référence à un ID inconnu \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Impossible de définir le lien \"%s\" vers le Nœud de Valeur \"%s\" (lien n°"
 "%d dans \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors de la référence au Nœud de Valeur "
 "\"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Le contenu de l'élément <%s> manque"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "L'analyse de \"%s\" a échoué"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Impossible de lier le nœud de valeur (\"%s\" de type \"%s\") au lien %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors du travail sur l'élément \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> n'a pas de lien %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr "Impossible de créer la <liste>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "Le contenu de <entry> est manquant, ou il manque un élément \"use\""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Impossible de créer <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Mauvaises données dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Attendait un Nœud de Valeur. Voir %s"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Mauvais ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID dupliqué \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors de l'ajout du Nœud de valeur \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Il manque un attribut \"type\" à l'élément \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "La version de calque installée est plus petite que la version du fichier"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "La valeur <name> (nom) n'est pas encore supportée pour <layer> (calque). "
 "Ignorée."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "La valeur <desc> n'est pas encore supportée pour <layer> (calque). Ignorée."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Attribut \"name\" manquant pour <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2572,233 +2749,253 @@ msgstr ""
 "Attribut \"use\" trouvé pour <param>, mais il n'était pas vide. Contenu "
 "ignoré."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Valeur vide use=\"\" dans <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Échec du chargement du sous-canevas \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Le calque a rejeté le lien vers le canevas"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Identifiant inconnu  (%s) utilisé dans le paramètre \"%s\"."
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "Il manque soit le contenu, soit un attribut \"use\" dans <param>."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Mauvaises données pour <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Le calque '%s' a rejeté la valeur du paramètre '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Élément <%s> inattendu après les données de <param>. Ignoré."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 "La hauteur et la largeur du canevas doivent être supérieures ou égales à 1."
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr "Les canevas groupés ne peuvent posséder une section <defs> "
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr "Le canevas 'Inline' ne contient pas de section <ossature>"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr "Les canevas groupés ne peuvent posséder des images clés"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr "Les canevas groupés ne peuvent posséder de métadonnées"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> doit avoir un nom"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> doit avoir un contenu"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "entité \"name\" vide"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "entité \"desc\" vide"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "entité \"author\" vide"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Le canevas '%s' a des valeurs %s:%s non définies"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Nœud de valeur"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Nœuds de valeur"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr "Impossible de trouver le fichier lié"
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Impossible d'ouvrir le fichier"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Version d'API non correspondante (LIB:  %d, PROG: %d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Taille de Vecteur non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Taille de Couleur non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Taille de Canevas non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Taille de Calque non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr "Démarrage du sous système \"Sound\""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr "Impossible d'initialiser le sous système \"Sound\""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr "Démarrage du sous système \"Types\""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr "Impossible d'initialiser le sous système \"Types\""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Démarrage du sous-système \"Modules\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Impossible d'initialiser le sous-système \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr "Impossible d'initialiser le sous système \"Modules\""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Démarrage du sous-système \"Layers\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Impossible d'initialiser le sous-système \"Layers\""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Démarrage du sous-système \"Targets\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Impossible d'initialiser le sous-système \"Targets\""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Démarrage du sous-système \"Importers\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Impossible d'initialiser le sous-système \"Importers\""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr "Démarrage du sous système \"Cairo Importers\" "
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr "Impossible d'initialiser le sous système \"Cairo Importers\" "
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Démarrage du sous-système \"ValueNodes\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Impossible d'initialiser le sous-système \"ValueNodes\""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Chargement des modules depuis %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Impossible d'ouvrir le fichier de liste de modules \"%s\""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "FINI"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "erreur"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "avertissement"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "info"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Erreurs lors de lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Impossible de charger le module \"%s\""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Tentative d'enregistrement de \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Impossible de trouver le module \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Module \"%s\" trouvé"
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Impossible de trouver le point d'entrée du module \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Le point d'entrée n'a pas renvoyé un module."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "Succès pour \"%s\""
@@ -2836,8 +3033,8 @@ msgstr "%s ne semble pas être un fichier de palette %s valide"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s ne semble pas être un fichier palette supporté"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Composé"
 
@@ -2877,13 +3074,13 @@ msgstr "Multiplier"
 msgid "Divide"
 msgstr "Diviser"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Addition"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Soustraction"
 
@@ -2899,12 +3096,12 @@ msgstr "Eclairer"
 msgid "Darken"
 msgstr "Assombrir"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Teinte"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturation"
 
@@ -2926,17 +3123,17 @@ msgstr "Alpha Assombrir"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Panique de la cible"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Valeur inconnue (%s), impossible d'en créer une représentation XML"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
@@ -2944,7 +3141,7 @@ msgstr ""
 "représentation XML"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Échec de l'initialisation de la cible"
 
@@ -2962,32 +3159,28 @@ msgid "Not supported render method"
 msgstr "Méthode de rendu non supportée"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Chaîne récupérée :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "À court de mémoire (Certainement un bogue)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Erreur inconnue récupérée, relancée..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr "Mauvais état de la Surface Cairo"
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Mauvaise Taille de Tuile d'image"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Échec du Rendu Accéléré"
 
@@ -2996,8 +3189,8 @@ msgstr "Échec du Rendu Accéléré"
 msgid "Bad surface: %s"
 msgstr "Mauvaise surface : %s"
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Impossible d'appliquer la surface à la cible"
 
@@ -3005,21 +3198,21 @@ msgstr "add_tile(): Impossible d'appliquer la surface à la cible"
 msgid "Can't start frame"
 msgstr "Ne peux pas commencer l'image"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Échec du Rendu Paramétrique"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Mauvaise surface"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 "Time(): Pas d'unité fournie dans le time code, supposant IMAGES (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -3027,314 +3220,230 @@ msgstr ""
 "Time(): Pas d'unité fournie dans le time code et le nombre d'images par "
 "seconde est inconnu! en supposant SECONDES"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "booléen"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "entier"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "angle"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "temps"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "réel"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vecteur"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "couleur"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "segment"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "point de BLine"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr "matrice"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "width_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "élément_pointillés"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "liste"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "canevas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "chaîne"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "dégradé"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nul"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr "spline_point"
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr "Composé Radial"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Référence"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente du Segment"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Sommet du Segment"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Rayures"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Deux-tons"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Liste Dynamique"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotation de Dégradé"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Échange Temporisé"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Répéter le Dégradé"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponentiel"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr "Tangente de Spline"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr "Sommet de la Spline"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Plage de valeurs"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Commutateur"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Inverser la Tangente"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Réciproque"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Entier"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr "Largeur de la Spline"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Angle du Vecteur"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Longueur du Vecteur"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "X du vecteur"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Y du vecteur"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Couleur de Dégradé"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Produit Scalaire"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Chaîne de Temps"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Réel"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Chaîne de Réel"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Liste Jointe"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Chaîne d'Angle"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Chaîne d'Entier"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logarithme"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Grisé"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Puissance"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparer"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Non"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Et"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Ou"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr "Influence de l'Ossature"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr "Ossature"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr "Racine de l'Ossature"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr "Liste Statique"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
-msgstr ""
+msgstr "Poids Ossature Pair"
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "Lien d'Ossature"
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "Liste des Points de Largeur"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "Liste d'Élément Pointillés"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "Moyenne"
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr "Moyenne Pondérée"
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "Dynamique"
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "Dérivé"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Mauvais type : Le Nœud de Valeur '%s' n'accepte pas le type '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Substitut"
 
@@ -3343,45 +3452,51 @@ msgstr "Substitut"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d mauvais type pour %s : besoin de %s et non %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ": Mauvais type"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Un ou deux de mes paramètres ne sont pas définis"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Côté Gauche de l'ajout"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Côté Droit de l'ajout"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Scalaire"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Valeur qui multiplie l'ajout"
 
@@ -3405,316 +3520,584 @@ msgstr "Lien2"
 msgid "Second operand of the AND operation"
 msgstr "Seconde opérande de l'opération AND"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Valeur pour convertir la chaîne"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Largeur de la chaîne"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Précision"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Nombre de décimales"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Complété avec des zéros"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"Si cochée, la chaîne est laissée remplie avec des zéros pour égaler la "
+"largeur"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Un point de passage existe déjà à ce moment"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s : Vous ne pouvez pas utiliser un %s dans un Nœud de Valeur animé."
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animé"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr "Cosinus de l'angle"
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr "Y"
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "Sinus de l'angle"
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Pas d'entrées dans la liste"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Pas d'entrées dans la liste ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Sommet %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr "La Spline à laquelle la tangente est liée"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
-msgstr "Si cochée, le montant serait en boucle"
+msgstr "Si cochée, le quantité boucle"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr "La position sur la Spline de la tangente liée (0,1]"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Décalage"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
-msgid "Angle offset of the tangent"
-msgstr "Décalage de l'angle de la tangente"
+#: src/synfig/valuenode_blinecalctangent.cpp:259
+msgid "Angle offset of the tangent"
+msgstr "Décalage de l'angle de la tangente"
+
+#: src/synfig/valuenode_blinecalctangent.cpp:264
+msgid "Scale of the tangent"
+msgstr "Échelle de la tangente"
+
+#: src/synfig/valuenode_blinecalctangent.cpp:268
+msgid "Fixed Length"
+msgstr "Longueur Fixe"
+
+#: src/synfig/valuenode_blinecalctangent.cpp:269
+msgid "When checked, the tangent's length is fixed"
+msgstr "Si cochée, la longueur de la tangente est fixée"
+
+#: src/synfig/valuenode_blinecalctangent.cpp:274
+msgid "When checked, the tangent is Spline length based"
+msgstr "Si coché, la tangente est basée sur la longueur de la Spline"
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:202
+msgid "The spline where the vertex is linked to"
+msgstr "La spline à laquelle le sommet est lié"
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:212
+msgid "The position of the linked vertex on the Spline (0,1]"
+msgstr "La position sur la Spline du sommet lié (0,1]"
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:217
+msgid "When checked, the position is Spline length based"
+msgstr "Si coché, la position est basée sur la longueur de la Spline"
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:207
+msgid "The spline where the width is linked to"
+msgstr "Le spline à laquelle la largeur est liée"
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr "La position sur la Spline de la largeur liée (0,1]"
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr "Échelle de la largeur"
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr "Si coché, la largeur est basée sur la longueur de la Spline"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr "La tangente référencée à inverser"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr "Si coché, la référence est inversée"
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr "Os %d"
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr "Le nom de l'Os"
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr "Parent"
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr "L'Os Parent de l'Os"
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr "L'origine de rotation de l'Os relativement à son parent"
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr "L'angle de rotation de l'Os relativement à son parent"
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr "Longueur Locale d'Échelle"
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr "L'échelle de l'os est alignée sur sa longueur"
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr "Largeur de l'Os"
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr "Largeur de l'Os à son origine"
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr "Échelle de Longueur Récursive"
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr "L'échelle de l'ossature et de ces enfants est définit par sa longueur"
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr "Largeur de l'extrémité"
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr "Largeur de l'os à son extrémité"
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr "Profondeur Z"
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr "La profondeur z de l'os"
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr "Paramètre de Longueur"
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr "La longueur de l'os à l'installation"
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr "Racine"
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr "Liste du Poids des Os"
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr "Liste des os utilisés pour calculer l'influence"
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr "Le noeud de valeur devenant influencé par l'ossature"
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr "L'Os lié"
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr "Valeur de Base"
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr "Faire translation"
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr "Faire rotation"
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr "Inclinaison"
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr "Réaliser l'inclinaison"
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr "Échelle X"
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr "Agrandir/Réduire par l'axe X"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
-msgid "Scale of the tangent"
-msgstr "Échelle de la tangente"
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr "Échelle Y"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
-msgid "Fixed Length"
-msgstr "Longueur Fixe"
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr "Agrandir/Réduire par l'axe Y"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
-msgid "When checked, the tangent's length is fixed"
-msgstr "Si cochée, la longueur de la tangente est fixée"
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr "Os utilisés pour définir l'influence"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
-msgid "When checked, the tangent is Spline length based"
-msgstr "Si coché, la tangente est basée sur la longueur de la Spline"
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr "poids"
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:202
-msgid "The spline where the vertex is linked to"
-msgstr "La spline à laquelle le sommet est lié"
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr "Valeur relative de l'influence de l'os"
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:212
-msgid "The position of the linked vertex on the Spline (0,1]"
-msgstr "La position sur la Spline du sommet lié (0,1]"
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Le côté gauche de la comparaison"
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:217
-msgid "When checked, the position is Spline length based"
-msgstr "Si coché, la position est basée sur la longueur de la Spline"
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Le côté droit de la comparaison"
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:207
-msgid "The spline where the width is linked to"
-msgstr "Le spline à laquelle la largeur est liée"
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Plus grand"
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
-msgstr "La position sur la Spline de la largeur liée (0,1]"
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Si cochée, renvoie vrai si LHS > RHS"
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
-msgstr "Échelle de la largeur"
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Égal"
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
-msgstr "Si coché, la largeur est basée sur la longueur de la Spline"
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Si cochée, renvoie vrai si LHS = RHS"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Moins"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Si cochée, renvoie vrai si LHS < RHS"
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Erreur de type pour un composé"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Rouge"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "La composante ROUGE de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Vert"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "La composante VERTE de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Bleu"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "La composante BLEU de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "La transparence alpha de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Sommet 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "Le premier sommet du segment"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "La première tangente du segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Sommet 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Le second sommet du segment"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "La seconde tangente du segment"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "Axe X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "la composante axe-X du vecteur"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Axe Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "la composante axe-Y du vecteur"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Sommet"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr "Le sommet du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr "La largeur du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Définit les positions ON/OFF relatives aux voisins"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Séparer"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "Si cochée, les tangentes sont indépendantes"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr "La première tangente du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr "La seconde tangente du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr "Séparer Rayon"
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr "Si coché, les rayons de la tangente sont indépendant"
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr "Séparer Angle"
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr "Si coché, les angles de la tangente sont indépendant"
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr "La position [0, 1] du Point de Largeur sur la Spline"
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "La largeur du Point de Largeur"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Type de Côté Antérieur"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "Définit le type d'interpolation du point de largeur"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpoler"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Type de Côté Postérieur"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr "Limite inférieure"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr "Définir la position de début de la Spline"
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr "Limite supérieure"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr "Définir la position de fin de la Spline"
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr "Le longueur du décalage de l'élément pointillé sur la Spline"
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr "Longueur"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr "Longueur de l'Élément Pointillés"
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr "Définit le type de côté de l'élément pointillés"
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "Le côté gauche de la comparaison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr "La partie Décalage de la transformation"
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "Le côté droit de la comparaison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr "La partie Angle de la transformation"
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Plus grand"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "Angle Inclinaison"
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "Si cochée, renvoie vrai si LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr "La partie Angle d'Inclinaison de la transformation"
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Égal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr "La partie Échelle de la transformation"
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "Si cochée, renvoie vrai si LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr "Poids de la valeur"
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Moins"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Valeur"
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "Si cochée, renvoie vrai si LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr "La Valeur"
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr "Première"
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr "La Première Valeur"
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr "Seconde"
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr "La Seconde Valeur"
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
@@ -3728,32 +4111,198 @@ msgstr "Amplitude"
 msgid "Multiplier of the resulting cosine"
 msgstr "Multiplier du cosinus résultant"
 
-#: src/synfig/valuenode_duplicate.cpp:193
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr "Valeur pour calculer la dérivée"
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr "Intervalle"
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr "Intervalle de temps pour calculer les différences finit"
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr "Précision"
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr "Précision de la dérivée"
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr "Grossière"
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr "Fine"
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr "Extrême"
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr "Ordre"
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr "Ordre de la dérivée"
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr "Première dérivée"
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr "Seconde dérivée"
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr "DashItem %03d"
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr "Le côté gauche du produit scalaire"
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr "Le côté droit du produit scalaire"
+
+#: src/synfig/valuenode_duplicate.cpp:194
 msgid "From"
 msgstr "Depuis"
 
-#: src/synfig/valuenode_duplicate.cpp:194
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr "Valeur initiale de l'index"
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr "Vers"
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr "Valeur finale de l'index"
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr "Quantité d'augmentation de l'index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr "Point d'équilibre sans force extérieure"
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr "Base du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr "Force"
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr "Force externe appliquée au centre de gravité de la masse"
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr "Torque"
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr "Impulsion extérieure appliquée au centre d'inertie"
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr "Coefficient d'amortissement"
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr "Coefficient d'amortissement radial du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr "Coefficient de friction"
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr "Coefficient de friction rotationelle du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr "Coefficient de Compression"
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr "Coefficient de compression radiale du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr "Coefficient de Torsion"
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr "Coefficient de torsion du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr "Masse"
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr "Masse du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr "Moment d'Inertie"
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr "Moment d'inertie du système dynamique"
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr "Rigidité de l'élasticité"
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr "Si coché, l'élasticité linéaire est rigide"
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr "Rigidité de la torsion"
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr "Si coché, l'élasticité de la torsion est rigide"
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+"Si coché, le résultat est l'origine + l'extrémité, sinon uniquement "
+"l'extrémité"
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Incompatibilité entre type et élément de liste, générant une erreur"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Élément %03d"
@@ -3770,6 +4319,18 @@ msgstr "La valeur pour augmenter la constante 'e'"
 msgid "Multiplier of the resulting exponent"
 msgstr "Multiplicateur de l'exposant résultant"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr "Le dégradé depuis lequel la couleur est choisit"
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr "La position de la couleur dans le dégradé (0,1]"
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr "Si coché, l'index bouclera"
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "Le dégradé source à faire tourner"
@@ -3778,58 +4339,89 @@ msgstr "Le dégradé source à faire tourner"
 msgid "The amount to offset the gradient"
 msgstr "La quantité de décalage du dégradé"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr "La valeur grisée"
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "la valeur entière à convertir"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr "Entier"
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Chaînes"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "La Liste de chaînes à joindre"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Avant"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "La chaîne à placer avant les chaînes jointes"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Séparateur"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "La chaîne à placer entre chaque chaîne jointe"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Après"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "La chaîne à placer après les chaînes jointes"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Taux"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Valeur qui est multipliée par le temps actuel (en secondes)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Pente"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "La valeur retournée quand le temps actuel est nul"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr "Noeud valeur utilisé pour calculer le logarithme Népérien"
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr "Valeur utilisé pour comparé le 'lien' avec zéro"
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Infini"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+"Détermine la manière d'interpoler une valeur d'un choix aléatoire à l'autre"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NON"
@@ -3858,28 +4450,15 @@ msgstr "La base à élever à la puissance"
 msgid "The power used to raise the base"
 msgstr "La puissance utilisée pour élever la base"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Valeur utilisée pour comparer la base ou la puissance avec zero"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Infini"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-"Détermine la manière d'interpoler une valeur d'un choix aléatoire à l'autre"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Mauvais type de composé radial"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luminance"
 
@@ -3895,60 +4474,34 @@ msgstr "Thêta"
 msgid "The angle of the vector with the X axis"
 msgstr "L'angle du vecteur avec l'axe X"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Certains de mes paramètres ne sont pas définis"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Valeur retournée lorsque le Lien est plus petit"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Valeur retournée lorsque le Lien est plus grand"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "Le Noeud de valeur pour limiter sa portée"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr "La valeur réel devant être convertie"
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Valeur pour convertir la chaîne"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Largeur de la chaîne"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Précision"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Nombre de décimales"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Complété avec des zéros"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"Si cochée, la chaîne est laissée remplie avec des zéros pour égaler la "
-"largeur"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "Le noeud de valeur utilisé pour calculer sa réciproque"
@@ -3982,9 +4535,9 @@ msgstr "Le nombre de répétition du dégradé"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
-"Spécifie la quantité de partialité du dégradé source dans la répétition [0,1]"
+"Détermine la quantité de biais du dégradé source dans la répétition [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -4024,16 +4577,16 @@ msgstr "Couleur de Fin"
 msgid "Used as the end of the resulting gradient"
 msgstr "Utilisé comme point final du dégradé résultant"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Tentative d'obtenir l'inverse d'un Nœud de Valeur non inversable"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "Le nœud de valeur utilisé pour redimensionner"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Valeur qui multiplie le nœud de valeur"
 
@@ -4066,27 +4619,27 @@ msgstr "L'angle à partir duquel le sinus est calculé"
 msgid "The value that multiplies the resulting sine"
 msgstr "La valeur qui multiplie le sinus résultant"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "Le noeud de valeur utilisé pour faire l'étape"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "La durée de l'étape"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Temps de Début"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "Le moment où l'étape de conversion démarre"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Intersection"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr "Valeur qui définit si le pas est centré sur la valeur [0, 1]"
 
@@ -4118,15 +4671,15 @@ msgstr "Nombre de bandes dans le dégradé"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Largeur des bandes dans le dégradé entre [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Côté Gauche de la soustraction"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Côté Droit de la soustraction"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Valeur qui multiplie la soustraction"
 
@@ -4150,27 +4703,27 @@ msgstr "Le noeud de valeur retourné quand le switch est sur On"
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr "Si coché, renvoie \"Lien On\", sinon renvoie \"Lien Off\""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 "Le noeud de valeur retourné quand le temps actuel est avant le \"temps\" - "
 "\"longueur\""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 "Le nœud de valeur retourné quand le temps actuel est après le \"temps\""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Temps"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "Le moment où se termine l'interpolation linéaire"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4183,10 +4736,14 @@ msgid "The value node to time loop"
 msgstr "Le noeud de valeur de boucle temporelle"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Point de départ de la boucle pour l'axe de temps du nœud de valeur"
+msgid "Start time of the loop for the value node Timeline"
+msgstr "Point de départ de la boucle pour le nœud de valeur Axe de Temps"
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr "Durée de la boucle"
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "Le temps qui est converti vers la chaîne"
 
@@ -4198,238 +4755,249 @@ msgstr "La couleur de départ du dégradé"
 msgid "The end color of the gradient"
 msgstr "La couleur de fin du dégradé"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vecteur"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "Le vecteur à partir duquel est calculé l'angle"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "Le vecteur à partir duquel est calculé la longueur"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "Le vecteur à partir duquel est extraite la coordonnée X"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "Le vecteur à partir duquel est extraite la coordonnée Y"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr "Moyenne pondérée"
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Point de Largeur %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr "pondérée"
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "Erreur Fatale : Incompatibilité avec la version de Synfig"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr "Configurations"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
-msgstr "Choisissez la cible de sortie (Défaut : PNG) "
+msgstr "Choix de la cible de sortie (Défaut : PNG) "
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
-"Fixer la longueur de l'image en pixel  (Zéro pour la valeur par défaut du "
+"Fixe la longueur de l'image en pixel  (Zéro pour la valeur par défaut du "
 "fichier)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
-"Fixer la hauteur de l'image en pixel  (Zéro pour la valeur par défaut du "
+"Fixe la hauteur de l'image en pixel  (Zéro pour la valeur par défaut du "
 "fichier)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
-msgstr "Définir la diagonale de la fenêtre d'image (Étendue)"
+msgstr "Fixe la diagonale de la fenêtre d'image (Étendue)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
-msgstr ""
-"Définir la valeur d'anti-crénelage pour le moteur de rendu paramétrique."
+msgstr "Fixe la valeur d'anti-crénelage pour le moteur de rendu paramétrique."
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
-msgstr "Définir la qualité d'image pour le rendu accéléré (Défaut : %d) "
+msgstr "Fixe la qualité d'image pour le rendu accéléré (Défaut : %d) "
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 "Active le rendu multiprocessus en utilisant le nombre de processus définit"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr "Préciser le nom du fichier d'entrée"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr "Spécifier le nom de fichier de sortie"
+msgstr "Préciser le nom de fichier de sortie"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
-"Chaîne séparatrice pour séquence d'images (Utilisez double-quotes si vous "
-"voulez utiliser des espaces)"
+"Chaîne séparatrice pour séquence d'images (Utilisez des guillemets double si "
+"vous utiliser des espaces)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Rendre le canevas avec l'identifiant donné au lieu de l'ID racine."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr "Définir le nombre d'images par seconde"
+msgstr "Fixe le nombre d'images par seconde"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Rendre une seule image à la <seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Fixe le temps de début"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr "Fixer le temps de fin"
+msgstr "Fixe le temps de fin"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr "Fixer la résolution physique (Point Par Pouce)"
+msgstr "Fixe la résolution physique (Point Par Pouce)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr "Fixer la résolution physique X (Point Par Pouce)"
+msgstr "Fixe la résolution physique X (Point Par Pouce)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr "Fixer la résolution physique Y (Point Par Pouce)"
+msgstr "Fixe la résolution physique Y (Point Par Pouce)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr "Commuter les options"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr "Niveau de verbosité de sortie"
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Mode silencieux (Pas de progression/temps restant affiché)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
-msgstr "Imprimer un benchmark"
+msgstr "Affiche une mesure des performances"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
-msgstr ""
+msgstr "Extraire Alpha"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr "Autres options"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Ajouter les calques de <filename> dans la composition"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
-msgstr "Imprimer les détails spécifiés du canevas racine"
+msgstr "Affiche les détails spécifiés du canevas racine"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
-msgstr "Imprimer la liste des canevas exportés de la composition"
+msgstr "Affiche la liste des canevas exportés de la composition"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr "Options de la cible FFMPEG"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr "Définit le codec de la vidéo. Voir --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr "Définit le bitrate de la vidéo de sortie"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr "Options d'information de Synfig"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr "Produire ce message d'aide"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr "Afficher la liste des importeurs disponibles"
+msgstr "Affiche la liste des importeurs disponibles"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
-msgstr "Afficher diverses informations de compilation"
+msgstr "Affiche diverses informations de compilation"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr "Afficher la liste des calques disponibles"
+msgstr "Affiche la liste des calques disponibles"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr "Afficher les descriptions, info de paramètre, etc. du calque"
+msgstr "Affiche les descriptions, info de paramètre, etc. du calque"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr "Afficher les informations de licence"
+msgstr "Affiche les informations de licence"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr "Afficher la liste des modules chargés"
+msgstr "Affiche la liste des modules chargés"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr "Afficher la liste des cibles disponibles"
+msgstr "Affiche la liste des cibles disponibles"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
-"Imprimer la liste de codec vidéo disponible lorsque vous encodez avec FFMPEG"
+"Affiche la liste des codecs vidéo disponible lorsque vous encodez avec FFMPEG"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
-msgstr "Afficher la liste des nœuds de valeur disponibles"
+msgstr "Affiche la liste des nœuds de valeur disponibles"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr "Afficher les informations de version"
+msgstr "Affiche les informations de version"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr "Drapeau de debug de Synfig"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Tester la génération de GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Tester l'implémentation des signaux"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr "Rien à faire !"
@@ -4442,192 +5010,190 @@ msgstr "Tentative pour déterminer le fichier cible/de sortie... "
 msgid "Target name undefined, attempting to figure it out"
 msgstr "Nom du fichier cible indéfini, tentative pour passer outre"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr "Cible PNG définit par défaut..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
-msgstr "Impossible de créer la sortie pour \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
+msgstr "Erreur lors de la création de \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr "Lancement d'un travail..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr "Création de la cible..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
-msgstr "Cible inconnue pour \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
+msgstr "Cible inconnue pour \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr "Mise en place du canevas sur la cible..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr "Fixation de la qualité de la cible..."
 
-#: src/tool/joblistprocessor.cpp:185
-#, fuzzy
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
-msgstr "Fixation de la qualité de la cible..."
+msgstr "Définir le mode alpha de la cible..."
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr "Échec du Rendu."
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr "Rendu en cours..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ": Rendu en"
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr "secondes."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr "Fait."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr "Variable de canevas inconnue :"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr "Les variables reconnues sont :"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr "verbosité fixé à"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr "Nombres de processus fixé à"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr "Nom du Calque"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr "Nom Local du Calque :"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr "Version :"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr "paramètre -"
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr "(pas critique)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr "Nom Local:"
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr "»Description:"
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr "»Piste:"
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr "Anti-crénelage fixé à %d, (%d échantillonnages par pixel) "
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr "Fixer l'étendue à %d unités"
+msgstr "Fixe l'étendue à %d unités"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr "Nombre d'images fixé à %d images par seconde"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr "Résolution physique fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr "Résolution physique X fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr "Résolution physique Y fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr "Rendu en cours à l'image"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr "L'argument Gamma est actuellement ignoré"
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
-msgstr "Résolution fixé à %dx%d"
+msgid "Resolution set to %dx%d."
+msgstr "Résolution fixée à  %dx%d."
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr "Le codec vidéo ainsi que le bitrate sont des paramètres nécessaires"
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr "Le codec vidéo \"%s\" n'est pas supporté."
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
-msgstr "Codec vidéo de la cible fixé à %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
+msgstr "Codec vidéo de la cible fixé à:"
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
-msgstr "Bitrate de destination fixé à %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
+msgstr "Bitrate de la cible fixé à:"
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
-msgstr "Chaîne séparatrice pour séquence d'images fixé à %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
+msgstr "Le séparateur de séquence d'images est :'"
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
-msgstr "Impossible de charger '%s'."
+msgid "Unable to load file '%s'."
+msgstr "Impossible de charger le fichier '%s'."
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr "Aucun fichier n'as été fournit"
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr "Cible définit à"
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr "Qualité définit à"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
@@ -4636,7 +5202,7 @@ msgstr ""
 "Impossible de trouver le canevas dont l'ID est \"%s\" dans %s.\n"
 "Annulation du travail..."
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
@@ -4645,122 +5211,94 @@ msgstr ""
 "Nom \"%s\" du canevas invalide dans %s.\n"
 "Annulation du travail..."
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr "Impossible d'ajouter '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr "Contenus ajoutés de"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr "Temps de Fin"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr "Nombre d'Images par seconde"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr "Image de Début"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr "Image de Fin"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr "Ratio d'Aspect de l'Image"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr "Largeur de Pixel"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr "Hauteur de Pixel"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr "Ratio d'Aspect de Pixel"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr "Haut Gauche"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr "Bas Droite"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr "Largeur Physique"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr "Hauteur Physique"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr "Résolution X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr "Résolution Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr "Étendue de la Diagonale d'Image"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr "Entrelacé"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr "Anticrénelage"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr "Drapeaux"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr "Focus"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr "Couleur de Fond"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr "Métadonnée"
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr "Ligne"
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr "de"
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr "s"
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr "j"
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr "h"
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr "m"
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s"
diff --git a/po/gl.gmo b/po/gl.gmo
new file mode 100644
index 0000000..bba979a
Binary files /dev/null and b/po/gl.gmo differ
diff --git a/po/ca.po b/po/gl.po
similarity index 65%
copy from po/ca.po
copy to po/gl.po
index 91ae837..aafb22d 100644
--- a/po/ca.po
+++ b/po/gl.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -7,177 +7,28 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
-"ca/)\n"
-"Language: ca\n"
+"Language-Team: Galician (http://www.transifex.com/projects/p/synfig/language/"
+"gl/)\n"
+"Language: gl\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"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -197,6 +48,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr ""
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +73,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +86,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +127,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +148,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -326,96 +191,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +297,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +336,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +438,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +593,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,15 +604,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -693,7 +627,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +637,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +645,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +696,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +724,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +769,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +810,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +899,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +911,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +927,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +991,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1132,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,127 +1210,56 @@ msgstr ""
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1302,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1371,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1417,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1564,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,7 +1574,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1590,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1614,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1631,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1650,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1679,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1712,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1797,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1813,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1852,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1880,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1994,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2002,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2056,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2242,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2300,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2324,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2372,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2388,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2968,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3009,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3031,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3058,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3092,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3122,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3131,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3382,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3450,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3430,228 +3590,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4039,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4245,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4265,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4375,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4399,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4458,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,16 +4495,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,27 +4537,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4589,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4621,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4649,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4668,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4915,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/he.gmo b/po/he.gmo
new file mode 100644
index 0000000..da153b2
Binary files /dev/null and b/po/he.gmo differ
diff --git a/po/da.po b/po/he.po
similarity index 65%
copy from po/da.po
copy to po/he.po
index 44791d3..8a2c5fd 100644
--- a/po/da.po
+++ b/po/he.po
@@ -1,183 +1,35 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Kunda, 2013-2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Danish (http://www.transifex.com/projects/p/synfig/language/"
-"da/)\n"
-"Language: da\n"
+"Language-Team: Hebrew (http://www.transifex.com/projects/p/synfig/language/"
+"he/)\n"
+"Language: he\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"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -197,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "צבע"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +74,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +87,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -303,7 +169,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "גופן"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,29 +439,21 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
-msgstr ""
+msgstr "קבוצת ג'וליה"
 
 #: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
 msgid "Fractals"
-msgstr ""
+msgstr "פרקטלים"
 
 #: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
-msgstr ""
+msgstr "צבע פנימי"
 
 #: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
@@ -525,7 +461,7 @@ msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr ""
+msgstr "צבע חיצוני"
 
 #: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
@@ -611,7 +547,7 @@ msgstr ""
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr ""
+msgstr "קבוצת מנדלברוט"
 
 #: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,15 +605,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "רדיוס"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
-msgstr ""
+msgstr "גובה"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
-msgstr ""
+msgstr "לא ניתן לפתוח את %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "לא ניתן לפתוח את הקובץ"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "דוגמא"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1211,7 +1221,7 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
+msgstr "צבע"
 
 #: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
@@ -1237,90 +1247,19 @@ msgstr ""
 msgid "Fade Out"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
 #: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
+msgstr "גיאומטריה"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,11 +1418,82 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:72
-msgid "Outline"
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:192
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "בריבוע"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "שורש ריבועי"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:72
+msgid "Outline"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
@@ -1518,7 +1528,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
-msgstr ""
+msgstr "מלבן"
 
 #: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
@@ -1534,7 +1544,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr ""
+msgstr "כוכב"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
@@ -1555,15 +1565,17 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "זוית"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1591,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
-msgid "Unable to open "
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
+msgid "Unable to open "
+msgstr "לא ניתן לפתוח"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
-msgstr ""
+msgstr "מהירות"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "זוית"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "אמיתי"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "זמן"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "וקטור"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "צבע"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "יחידות"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "פיקסלים"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "מטר"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "מילימטרים"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "סנטימטרים"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,9 +2301,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "קבוע"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2196,68 +2325,59 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
-msgstr ""
+msgstr "זמן הנוכחי"
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,486 +2389,557 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "שם"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "לא ניתן לפתוח את הקובץ"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
-msgstr ""
+msgstr "יותר מדי אזהרות"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
-msgstr ""
+msgstr "שגיאה"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
-msgstr ""
+msgstr "אזהרה"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
-msgstr ""
+msgstr "מידע"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
-msgstr ""
+msgstr "הצלחה עבור \"%s\""
 
 #: src/synfig/palette.cpp:79
 msgid "Unnamed"
-msgstr ""
+msgstr "ללא שם"
 
 #: src/synfig/palette.cpp:96
 msgid "Surface Palette"
@@ -2757,7 +2948,7 @@ msgstr ""
 #: src/synfig/palette.cpp:291
 #, c-format
 msgid "%0.2f%% Gray"
-msgstr ""
+msgstr "%0.2f%% אפור"
 
 #: src/synfig/palette.cpp:306
 #, c-format
@@ -2779,26 +2970,26 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "ישר"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "על גבי"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "ישר על גבי"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "מאחור"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
@@ -2814,19 +3005,19 @@ msgstr ""
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "להכפיל"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "לחלק"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
-msgstr ""
+msgstr "Sine"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
-msgstr ""
+msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
-msgstr ""
+msgstr "אורך וקטור"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
-msgstr ""
+msgstr "וקטור X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
-msgstr ""
+msgstr "וקטור Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "אמיתי"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,355 +3452,785 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
-msgid "Angle offset of the tangent"
+#: src/synfig/valuenode_blinecalctangent.cpp:259
+msgid "Angle offset of the tangent"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalctangent.cpp:264
+msgid "Scale of the tangent"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalctangent.cpp:268
+msgid "Fixed Length"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalctangent.cpp:269
+msgid "When checked, the tangent's length is fixed"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalctangent.cpp:274
+msgid "When checked, the tangent is Spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:202
+msgid "The spline where the vertex is linked to"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:212
+msgid "The position of the linked vertex on the Spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcvertex.cpp:217
+msgid "When checked, the position is Spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:207
+msgid "The spline where the width is linked to"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "רב"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "שווה"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "פחות"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
+msgid "Bad type for composite"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:629
+msgid "Red"
+msgstr "אדום"
+
+#: src/synfig/valuenode_composite.cpp:630
+msgid "The red component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:633
+msgid "Green"
+msgstr "ירוק"
+
+#: src/synfig/valuenode_composite.cpp:634
+msgid "The green component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:637
+msgid "Blue"
+msgstr "כחול"
+
+#: src/synfig/valuenode_composite.cpp:638
+msgid "The blue component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:641
+msgid "Alpha"
+msgstr "אלפא"
+
+#: src/synfig/valuenode_composite.cpp:642
+msgid "The alpha of the color"
+msgstr "האלפא של הצבע"
+
+#: src/synfig/valuenode_composite.cpp:650
+msgid "Vertex 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:651
+msgid "The first vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
+msgid "Tangent 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:655
+msgid "The first tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:658
+msgid "Vertex 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:659
+msgid "The second vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr "ציר-X"
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr "ציר-Y"
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
-msgid "Scale of the tangent"
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
-msgid "Fixed Length"
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
-msgid "When checked, the tangent's length is fixed"
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
-msgid "When checked, the tangent is Spline length based"
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:202
-msgid "The spline where the vertex is linked to"
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:212
-msgid "The position of the linked vertex on the Spline (0,1]"
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:217
-msgid "When checked, the position is Spline length based"
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:207
-msgid "The spline where the width is linked to"
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
-msgid "Bad type for composite"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
-msgid "Red"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
-msgid "The red component of the color"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
-msgid "Green"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
-msgid "The green component of the color"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
-msgid "Blue"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
-msgid "The blue component of the color"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-msgid "Alpha"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
-msgid "The alpha of the color"
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
-msgid "Vertex 1"
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
-msgid "The first vertex of the segment"
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
-msgid "Tangent 1"
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
-msgid "The first tangent of the segment"
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
-msgid "Vertex 2"
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
-msgid "The second vertex of the segment"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3826,64 +4395,40 @@ msgstr ""
 
 #: src/synfig/valuenode_radialcomposite.cpp:276
 msgid "Theta"
-msgstr ""
+msgstr "תטא"
 
 #: src/synfig/valuenode_radialcomposite.cpp:277
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,12 +4460,12 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
-msgstr ""
+msgstr "ציין התחלה"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:219
 msgid ""
@@ -3929,7 +4474,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:223
 msgid "Specify End"
-msgstr ""
+msgstr "ציין סיום"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:224
 msgid ""
@@ -3938,7 +4483,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:228
 msgid "Start Color"
-msgstr ""
+msgstr "התחלת הצבע"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:229
 msgid "Used as the start of the resulting gradient"
@@ -3946,22 +4491,22 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:233
 msgid "End Color"
-msgstr ""
+msgstr "סיום הצבע"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:234
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,33 +4539,33 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr ""
+msgstr "צבע 1"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
@@ -4028,7 +4573,7 @@ msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr ""
+msgstr "צבע 2"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
@@ -4046,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "וקטור"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "הגדרות"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr "שניות."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "גרסה:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\tתאור: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "\tרמז: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "גובה פיקסל"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/hu.gmo b/po/hu.gmo
index 8b713aa..5a8db38 100644
Binary files a/po/hu.gmo and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
index 075cb3e..b752d13 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Hungarian (http://www.transifex.com/projects/p/synfig/"
 "language/hu/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Kitöltött téglalap"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Példa"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Szín"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "A réteg kitöltő színe"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "1. pont"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "A téglalap első sarka"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "2. pont"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "A téglalap második sarka"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Lágy szél X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Lágy szél Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Lesarkítás"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Lesarkított sarkok"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Kerek sarkítás megtartása"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Ha bekapcsolt, akkor a sarkítás kerek"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metalabdák"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Színátmenet"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Labdák"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Sugarak"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Súlyok"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Bal színátmenet"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Jobb színátmenet"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Csak pozitív"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Egyszerű kör"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Közép"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "A kör közepe"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Sugár"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Ez a kör sugara"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Szöveg"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Egyéb"
 
@@ -198,6 +49,17 @@ msgstr "Üres betűkészlet"
 msgid "Text to Render"
 msgstr "Megjelenítendő szöveg"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Szín"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "A szöveg színe"
@@ -212,6 +74,7 @@ msgstr "Stílus"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normális"
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr "Dőlt"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Vastagság"
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Megadja, hogy milyen közel vannak egymáshoz a szöveg sorai"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr "A szöveg iránya"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Középpont"
 
@@ -329,96 +194,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Kapcsolja ki, ha a szöveget animálni akarja"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Invertál"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Nincs betűtípus betöltve, nem lesz szöveg megjelenítve."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "A szöveg túl kicsi, semmilyen szöveg nem fog megjelenni"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Nem lehet beállítani a betűtípus méretét."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Hibás multibyte sorozat - be van állítva a lokalizáció?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Ne lehet a multibyteos karaktereket feldolgozni.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Lesarkítás"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizál"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Típus"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "A elmosás típusa"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Négyzetes elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Gyors Gauss elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Négyzetháló elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gauss elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Kör elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Fényes szín"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Árnyék szín"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Fényszög"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Sarkítás mélysége"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Finomság"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Világosság használata"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Kitöltött"
 
@@ -430,7 +300,7 @@ msgstr "Régióhalmaz"
 msgid "Set of regions to combine"
 msgstr "A összevonandó régiók halmaza"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Szín intervallum"
 
@@ -469,28 +339,102 @@ msgstr "Alsó határ"
 msgid "Lower boundary of the clamping"
 msgstr "Az intervallum alsó határa"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Íves feszítés"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Torzítások"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Szélesség"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+"Az eredményül kapott alakzat milyen mértékben legyen függőleges az ívre"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Kezdő pont"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Az ív első pontja"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Végpont"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Az ív végpontja"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Pontok"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Gyors"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Ha bekapcsolt, gyorsan előállítja az eredményt, de csúnya élekkel"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Kép importálása"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "A fájlnév már be van állítva erre:  \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Fájlnév"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Importálandó fájl"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Idő-eltolás"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Az importált fájlra alkalmazandó idő eltolás"
 
@@ -498,17 +442,9 @@ msgstr "Az importált fájlra alkalmazandó idő eltolás"
 msgid "Inside Out"
 msgstr "Kifordítva"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Torzítások"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Megadja, hogy hol lesz a közép"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -661,7 +597,7 @@ msgstr "Eltolás kívül"
 msgid "Scale Outside"
 msgstr "Nagyítás kívül"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Forgatás"
 
@@ -672,15 +608,14 @@ msgstr "Eltolás"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "A pont ahová a középpontot szeretné"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -696,7 +631,7 @@ msgstr "Az elforgatás szöge"
 msgid "Shade"
 msgstr "Árnyék"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Az árnyék mérete"
 
@@ -706,7 +641,7 @@ msgid "Spherize"
 msgstr "Gömbös torzítás"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Pozíció"
 
@@ -714,6 +649,17 @@ msgstr "Pozíció"
 msgid "Where the sphere distortion is centered"
 msgstr "Ahol a körös torzítás közepe van"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Sugár"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "A gömbös torzítás mértéke"
@@ -754,6 +700,14 @@ msgstr "Nyújtás"
 msgid "Size of the stretch relative to its Center"
 msgstr "A nyújtás mértéke a középponthoz viszonyítva"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Közép"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "A nyújtás középpontja"
@@ -774,50 +728,39 @@ msgstr "A megvilágítás üteme másodpercenkénti gyakoriság "
 msgid "Super Sample"
 msgstr "Szuper mintázás"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "A SurfaceTarget nem létrehozható"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Szélesség"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "A mintaterület szélessége (pixelben)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Magasság"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "A mintaterület magassága (pixelben)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Paraméteres"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Használjon paraméteres megjelenítőt"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Átlátszóság-biztos"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Ha bekapcsolt megelőzi az átlátszósági hibákat"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Ismétlés"
@@ -830,43 +773,43 @@ msgstr "Kapcsolódási időpont"
 msgid "Start time of the loop for the cycled context"
 msgstr "Az ismétlődés kezdete az ismétlődő elemekre vonatkozóan"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Helyi időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Az az időtartam, amikor az eredményül kapott ismétlődés elindul"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Az ismétlődés időtartama"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Csak pozitív időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 "Ha bekapcsolt, akkor az ismétlődés csak pozitív időtartamok esetén indul el"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Szimmetrikus"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 "Ha bekapcsolt, akkor az ismétlődések a helyi dőre nézve középpontosan "
 "tükrözöttek"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Eltolás"
 
@@ -874,6 +817,19 @@ msgstr "Eltolás"
 msgid "Twirl"
 msgstr "Pödrés"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "A kör közepe"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Ez a kör sugara"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Forgatások"
@@ -950,59 +906,6 @@ msgstr "Horizont"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Az a magasság, amely a perspektíva horizontját adja meg"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Íves feszítés"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-"Az eredményül kapott alakzat milyen mértékben legyen függőleges az ívre"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Kezdő pont"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Az ív első pontja"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Végpont"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Az ív végpontja"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Pontok"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Gyors"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Ha bekapcsolt, gyorsan előállítja az eredményt, de csúnya élekkel"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Kizáró vagy minta"
@@ -1015,10 +918,11 @@ msgstr "A minta középpontja"
 msgid "Size of the pattern"
 msgstr "A minta mérete"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Nagyítás"
 
@@ -1030,59 +934,59 @@ msgstr "A nagyítás mértéke"
 msgid "Point to scale from"
 msgstr "A nagyítás kezdőpontja"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Nem lehet megnyitni: %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s nem BMP formátumban van"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Tömörített bitmap fájlok olvasása nem támogatott"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Nem támogatott bit mélység (bit_count=%d, 24 vagy 32 helyett)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(animált)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "A fájlt nem lehet megnyitni"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "A fájl fejrészét nem lehet a fájlban írni"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Az információs fejrészt nem lehet a fájlba írni"
 
@@ -1094,37 +998,137 @@ msgstr "Az információs fejrészt nem lehet a fájlba írni"
 msgid "Unable to open pipe to encodedv"
 msgstr "Nem lehet csatlakozni az encodedv-hez"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Kitöltött téglalap"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Példa"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "A réteg kitöltő színe"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "1. pont"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "A téglalap első sarka"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "2. pont"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "A téglalap második sarka"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Lágy szél X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Lágy szél Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Lesarkított sarkok"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Kerek sarkítás megtartása"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Ha bekapcsolt, akkor a sarkítás kerek"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metalabdák"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Színátmenet"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Labdák"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Sugarak"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Súlyok"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Bal színátmenet"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Jobb színátmenet"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Csak pozitív"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Egyszerű kör"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1135,7 +1139,7 @@ msgstr "Elmosás"
 msgid "Blurs"
 msgstr "Elmosások"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Az elmosás mérete"
 
@@ -1249,13 +1253,13 @@ msgstr "Elmosás mértéke"
 msgid "Fade Out"
 msgstr "Elhalványulás"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Kockás minta"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Fejlettebb kontúr"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1263,150 +1267,79 @@ msgstr "Kockás minta"
 msgid "Geometry"
 msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "A kockák színe"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "A kockák közepe"
+#: src/modules/mod_geometry/advanced_outline.cpp:152
+msgid "No vertices in spline "
+msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "A kockák mérete"
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
+msgid "A list of spline points"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Kör"
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
+msgid "Outline Width"
+msgstr "Kontúr szélesség"
 
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "A kör sugara"
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
+msgid "Global width of the outline"
+msgstr "A kontúr globális szélessége"
 
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Lágy szél"
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
+msgid "Expand"
+msgstr "Kibővítés"
 
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "A kör finom szélének vastagsága"
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
+msgid "Value to add to the global width"
+msgstr "Az az érték, amelyet a globális szélességhez hozzá kell adni"
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Inverz kör"
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
+msgid "Tip Type at Start"
+msgstr "A kezdeti vonalvég"
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Halványítás"
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
+msgid "Defines the Tip type of the first spline point when spline is unlooped"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Meghatározza a lágy szél halványítási függvényét"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Lineáris"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Négyzetes"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Négyzetgyökös"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Koszinusz"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "Fejlettebb kontúr"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:152
-msgid "No vertices in spline "
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1136
-#: src/modules/mod_geometry/outline.cpp:826
-#: src/modules/mod_geometry/region.cpp:240
-#: src/modules/mod_gradient/curvegradient.cpp:562
-#: src/modules/mod_particle/plant.cpp:425
-msgid "A list of spline points"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1140
-#: src/modules/mod_geometry/outline.cpp:840
-msgid "Outline Width"
-msgstr "Kontúr szélesség"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/outline.cpp:841
-msgid "Global width of the outline"
-msgstr "A kontúr globális szélessége"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1145
-#: src/modules/mod_geometry/outline.cpp:846
-msgid "Expand"
-msgstr "Kibővítés"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1146
-#: src/modules/mod_geometry/outline.cpp:847
-msgid "Value to add to the global width"
-msgstr "Az az érték, amelyet a globális szélességhez hozzá kell adni"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1149
-msgid "Tip Type at Start"
-msgstr "A kezdeti vonalvég"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-msgid "Defines the Tip type of the first spline point when spline is unlooped"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
-msgid "Rounded Stop"
-msgstr "Kerekített vég"
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
+msgid "Rounded Stop"
+msgstr "Kerekített vég"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Négyzete vég"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Csúcsos vég"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Lapos vég"
 
@@ -1445,7 +1378,7 @@ msgstr "A szélességi pontok közötti interpolációt határozza meg."
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1492,6 +1425,77 @@ msgstr "Vonalkák eltolási értéke"
 msgid "Distance to Offset the Dash Items"
 msgstr "A távolság, amellyel a vonalkákat el kell tolni"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Kockás minta"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "A kockák színe"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "A kockák közepe"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "A kockák mérete"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Kör"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "A kör sugara"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Lágy szél"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "A kör finom szélének vastagsága"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Inverz kör"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Halványítás"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Meghatározza a lágy szél halványítási függvényét"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineáris"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Négyzetes"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Négyzetgyökös"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Koszinusz"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Kontúr"
@@ -1570,7 +1574,9 @@ msgstr "Sugár a csillag belső pontjainak meghatározásához"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Szög"
 
@@ -1578,7 +1584,7 @@ msgstr "Szög"
 msgid "The orientation of the star"
 msgstr "A csillag iránya"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Pontok"
 
@@ -1594,12 +1600,12 @@ msgstr "Szabályos sokszög"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Ha bejelölt, akkor csillag helyett szabályos sokszöget rajzol"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Nem lehet írásra megnyitni a \"%s\" fájlt"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "A leírás nincs beállítva!"
 
@@ -1618,7 +1624,7 @@ msgstr "Színátmenetek"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1635,7 +1641,7 @@ msgstr "A színátmenet forgatása a középpont körül"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Ha bejelölt, akkor a színátmenet folyamatos lesz"
@@ -1654,25 +1660,26 @@ msgid "Global width of the gradient"
 msgstr "A gradiens globális szélessége"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Ismétlődő"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Cikk-cakk"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Ha bejelölt, akkor a színátmenet szimmetrikus az ívre"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1682,11 +1689,11 @@ msgstr "Merőleges"
 msgid "Linear Gradient"
 msgstr "Lineáris színátmenet"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "A színátmenet kezdőpontja"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "A színátmenet végpontja"
 
@@ -1715,54 +1722,59 @@ msgstr "Órajárással egyezően"
 msgid "When checked the spiral turns clockwise"
 msgstr "Ha bejelölt, aspirál az órajárással egyezően fordul"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Nincs megnyitandó fájl"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Nem lehet megnyitni"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Nem lehet a képkockát kiolvasni"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Hibás felülete ebből: "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Nem lehet az imagemagick-hez csatlakozni"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "PPM fej rész megtalálása nélkül ért véget a folyam"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "A folyam nincs PPM formátumban"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Korai fájlvég (a fejrész után)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Korai fájlvég"
 
@@ -1797,7 +1809,7 @@ msgstr ""
 "használt kezdőérték"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpoláció"
@@ -1813,16 +1825,16 @@ msgid "Nearest Neighbor"
 msgstr "Legközelebbi szomszéd"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Köbös"
@@ -1852,7 +1864,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Ha bejelölt, akkor turbulens zajt hoz létre"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Véletlenszerű"
 
@@ -1880,58 +1892,60 @@ msgstr "Szuper mintavételezés"
 msgid "When checked the gradient is supersampled"
 msgstr "Ha bejelölt, akkor a színátmenet szuper mintavételezett"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Csatol"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "A érték csomópont forrás, amely a középponti értéket adja"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "A maximális véletlen különbség értéke"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Kiinduló érték"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "A véletlen szám generátor kiinduló értéke"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Sebesség"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Meghatározza, hogy milyen gyakran választunk új véletlen értéket "
 "(választások száma per másodperc)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Meghatározza, hogyan interpolálódik az érték az egyik véletlen választástól "
 "a következőig"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Nincs interpoláció"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Ciklus idő"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "A véletlenszerű érték ezen idő elteltével újra ismétlődik"
 
@@ -1998,6 +2012,7 @@ msgstr ""
 "értékével, és a megjelenítéskor 1.0 átlátszósági érték használatos"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Visszafelé"
 
@@ -2005,8 +2020,8 @@ msgstr "Visszafelé"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Ha bejelölt, akkor a növény az ellenkező irányba nő"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Lépésköz"
 
@@ -2061,66 +2076,173 @@ msgstr "Használjon szélességet"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s nincs PPM formátumban"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Nem lehet üres fájlnevet megnyitni"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): a kiterjesztés nem található"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "logikai"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Ismeretlen fájltípus"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "egész"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "szög"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "valós"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "idő"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "szín"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "szegmens"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "szélességi pont"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "vonalkázott elem"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "vászon"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "szöveg"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "színátmenet"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "A listában nincsenek képek"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "egy vonalban"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Mértékegységek"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixelek"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Hüvelykek"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Méterek"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milliméterek"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centiméterek"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Nem lehet üres fájlnevet megnyitni"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): a kiterjesztés nem található"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Ismeretlen fájltípus"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Nem lehet létrehozni a felület célt"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z mélység"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "A réteg rétegek közötti pozícióját módosítja"
 
@@ -2140,24 +2262,25 @@ msgstr "Jobb alsó"
 msgid "Lower right-hand Corner of image"
 msgstr "A kép jobb alsó sarka"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "A réteg átlátszósága"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Kompozíciós metódus"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr "Az a metódus, ahogyan a rétegekből előállítsuk a végleges képet"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Megkettőz"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Sorszám"
 
@@ -2197,7 +2320,7 @@ msgstr "Almintavételezési típus"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Az almintavételezések súlyozásához használt görbe típusa"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Konstans"
 
@@ -2221,56 +2344,47 @@ msgstr "Végső almintavételezések száma"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Az utolsó alminta relatív mennyisége, lineáris súlyozáshoz"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Vászon"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Nagyít"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "A vászon mérete"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "A környezetre alkalmazandó időeltolás"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Gyermekzár"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Ha bejelölt, akkor a gyerekeket nem lehet kiválasztani egér klikkel"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fókuszpont"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Az a pont, amely nagyításkor rögzített marad"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Kontúr növelés"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr "A gyermek kontúr rétegek növeléséhet használt exponenciális érték"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Aktuális idő"
 
@@ -2278,11 +2392,11 @@ msgstr "Aktuális idő"
 msgid "Polygon"
 msgstr "Sokszög"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Pont lista"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Meghatározza a sokszög sarokpontjait"
 
@@ -2294,101 +2408,153 @@ msgstr "Alak"
 msgid "Internal"
 msgstr "Belső"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "A réteg alakzatának színe"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Élsimítás"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Lágy szél típus"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "A lágy szél típusának meghatározása"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Kitöltési stílus"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "A használandó kitöltési stílus"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Nem nulla"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Páros/páratlan"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Név"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Homogén szín"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Kerekített"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "A fájlt nem lehet megnyitni"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Csere"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "'%s' nem lehet rekurzívan betölteni"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Váratlan elem <%s>, várt <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Váratlan elem <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Túl sok figyelmeztető üzenet"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s>-ból hiányzó \"%s\" attribútum"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> nem tartalmazhat semmit"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>-ból hiányzik a \"value\" attribútum"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Hibás érték \"%s\" <%s>-ban"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s>-ből hiányzik a \"pos\" attribútum"
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Nem létrehozható az <animated> \"%s\" típussal"
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> hiányzó attribútum: \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2396,155 +2562,155 @@ msgstr ""
 "\"use\" attribútumot találtam a <waypoint> számára, amely nem volt üres. A "
 "tartalom figyelmen kívül marad..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Ismeretlen azonosító (%s) hivatkozás a referencia pontban"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> hiányoznak az adatok"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "<waypoint> hibás adatokat tartalmaz"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 "Nem várt elem <%s> <waypoint> adatok után, figyelmen kívül lesz hagyva..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Hiányzó attribútum \"type\" <%s>-ben"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Rossz típus <%s>-ban"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Hiba a ValueNode <%s> létrehozásakor '%s' típussal.  Hivatkozás: '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> nem fogad el '%s' típust"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' már definiálva volt itt: <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribútum itt: <%s> '%s' ismeretlen azonosítóra hivatkozik"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Nem lehet beállítani a kapcsolódást '\"%s\" az érték csomópont \"%s\"-hoz "
 "(kapcsolat #%d itt: \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Érték csomópont \"%s\" hivatkozásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "A <%s> elemből hiányzik a tartalom"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "A '%s' feldolgozása sikertelen"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Nem lehet hozzákapcsolódni az értékcsomóponthoz ('%s' típusa '%s') kapcsolat "
 "létrehozásához ehhez: %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "\"%s\" elem feldolgozásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> hiányzó kapcsolatot tartalmaz: %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> elemből hiányzik a tartalom vagy hiányzó \"use\" elem"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "<dynamic_list> listát nem lehet létrehozni"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "<%s> rossz adatot tartalmaz"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Érték csomópont a várt elem. Hivatkozás: '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Rossz azonosító \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplikált azonosító  \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Az érték csomópont \"%s\" hozzáadásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Hiányzó \"type\" attribútum a \"layer\" elemben"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "A telepített réteg verzió száma kisebb, mint az állományban lévő réteg "
 "verziószáma"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> elem <layer> rétegnek még nem támogatott. Mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> elem <layer> rétegnek még nem támogatott. Mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Hiányzó \"name\" attribútum a <param> számára."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2552,232 +2718,252 @@ msgstr ""
 "\"use\" attribútumot találtunk a <param> számára, ami nem volt üres. A "
 "tartalma mellőzve lesz..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Üres use=\"\" érték a <param> elemben"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "'%s' alárendelt vászon betöltése sikertelen"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "A réteg visszautasította a vászon csatolását"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Ismeretlen azonosító (%s) hivatkozás az alábbi paraméterben: \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param>: vagy hiányzik a tartalom vagy hiányzik a \"use\" attribútum."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Rossz adatok <param> számára"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "A réteg '%s' visszautasította a '%s' paraméter értékét"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Nem várt elem <%s> <param> adat után, mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Egynél kisebb vászon szélesség vagy magasság nem megengedett"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> elemnek neve kell legyen"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> elemnek tartalma kell legyen"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "üres \"name\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "üres \"desc\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "üres  \"author\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "A vászon '%s' tartalmaz nem definiált %s-t: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Érték csomópont"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Érték csomópontok"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "A fájlt nem lehet megnyitni"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API verzió eltérés (könyvtár:%d, program:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a vektor méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a szín méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a vászon méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a réteg méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "A \"Modules\" (Modulok) alrendszer indítása"
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "A \"Modules\" (Modulok) alrendszer indítása sikertelen"
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "A \"Layers\" (Rétegek) alrendszer indítása"
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "A \"Layers\" (Rétegek) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "A \"Targets\" alrendszer indítása"
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "A \"Targets\" (Rétegek) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Az \"Importers\" (Importálók) alrendszer indítása"
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "A \"Importers\" (Importálók) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr " A \"ValueNodes\" (Érték csomópontok) alrendszer indítása"
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr " A \"ValueNodes\" (Érték csomópontok) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Modulok betöltése %s-ból"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Nem lehet megnyitni a modul lista fájlt: '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "KÉSZ"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "hiba"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "figyelmeztetés"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "információ"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Hibák lt_dlinit()-ben"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Nem lehet a '%s' modult betölteni"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Regisztráció próba: \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Nem lehet az alábbi modult megtalálni:  \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Modul \"%s\" megtalált"
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Nem lehet az alábbi modulban a belépési pontot megtalálni: \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "A belépési pont nem modult adott eredményül"
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "\"%s\" sikeres"
@@ -2815,8 +3001,8 @@ msgstr "%s valószínűleg nem egy érvényes %s típusú paletta állomány"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s valószínűleg nem egy támogatott paletta fájl"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Összetett"
 
@@ -2856,13 +3042,13 @@ msgstr "Szorzás"
 msgid "Divide"
 msgstr "Osztás"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Összegzés"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Kivonás"
 
@@ -2878,12 +3064,12 @@ msgstr "Világosít"
 msgid "Darken"
 msgstr "Sötétít"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Színárnyalat"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Telítettség"
 
@@ -2905,17 +3091,17 @@ msgstr "Átlátszóság sötétítés"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Cél pánik"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Ismeretlen érték (%s), nem lehet létrehozni az XML reprezentációt!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
@@ -2923,7 +3109,7 @@ msgstr ""
 "reprezentációt!"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Cél inicializációs hiba"
 
@@ -2941,32 +3127,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Az elkapott szöveg: "
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Elfogyott a memória (Valószínűleg programhiba)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Elkapott ismeretlen hiba, újradobás..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Rossz lapméret"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Gyorsított megjelenítő hiba"
 
@@ -2975,8 +3157,8 @@ msgstr "Gyorsított megjelenítő hiba"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Nem lehet felületet illeszteni a célra"
 
@@ -2984,21 +3166,21 @@ msgstr "add_tile(): Nem lehet felületet illeszteni a célra"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Hiba a parametrikus megjelenítőben"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Rossz felület"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 "Time(): Az idő kódjában nem volt mértékegység, KOCKÁKKAL számolunk (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -3006,314 +3188,230 @@ msgstr ""
 "Time(): Az időkódban nincsen mértékegység megadva, képváltási frekvencia "
 "ismeretlen! Másodperc lesz az idő mértékegysége (\"%s\")"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "logikai"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "egész"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "szög"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "idő"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "valós"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vektor"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "szín"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "szegmens"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "bvonal pont"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "szélességi pont"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "vonalkázott elem"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "lista"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "vászon"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "szöveg"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "színátmenet"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "üres"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr "Sugaras összetett"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referencia"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Szegmens tangens"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Szegmenspont"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Csíkok"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Kettős tónus"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Dinamikus lista"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Színátmenet forgatása"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Szinusz"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Időzített csere"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Ismétléses színátmenet"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponenciális"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Intervallum"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Csere"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Koszinusz"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "Arkusztangens2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Inverz tangens"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciprokos"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Egész"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vektor szög"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vektor hossz"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Színátmenet szín"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Pont szorzat"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Időpont szövegesen"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Valós"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Valós szövegesen"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Összefésült lista"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Szög szövegesen"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Egész szövegesen"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logaritmikus"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Szürkésített"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Hatványozott"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Összehasonlítás"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Nem"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "És"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Vagy"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Rossz típus: az értékcsomópont '%s' nem fogad el '%s' típust"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Helyfenntartó"
 
@@ -3322,45 +3420,51 @@ msgstr "Helyfenntartó"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d rossz típus ennek: %s: szükséges %s, de ez van:  %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":Rossz típus"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Egy vagy több paraméterem nincs beállítva"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "BO"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Az összeadás bal oldala"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "JO"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Az összeadás jobb oldala"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Szorzó"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Az érték, amely megsokszorozza az összeadást"
 
@@ -3384,74 +3488,129 @@ msgstr "Kapcsolat2"
 msgid "Second operand of the AND operation"
 msgstr "Az és művelet második operandusa"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "A szöveggé konvertálandó érték"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "A szöveg szélessége"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Pontosság"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "A tizedes helyek száma"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Nullákkal kitöltött"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"Ha bejelölt, a szöveg balról nullákkal lesz kitöltve, hogy a szöveg a "
+"megfelelő szélességű legyen"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "A mérföldkő ebben az időpontban már létezik"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: nem használhat ilyet: %s egy animált értékcsomópontban"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animált"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "A listában nincsenek bejegyzések"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "A ret_list nem tartalmaz bejegyzéseket"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Pont %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "Ha bekapcsolt, akkor a mennyiség ciklikus lesz"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Eltolás"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "A tangens szög eltolásának értéke"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "A tangens nagyítási értéke"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Fix hossz"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "Ha bekapcsolt, akkor a tangens hossza rögzített"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3483,256 +3642,633 @@ msgstr "Szélesség nagyítási értéke"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Az összehasonlítás bal oldala"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Az összehasonlítás jobb oldala"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Nagyobb"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Ha bejelölt, igazat ad, ha bal oldal > jobb oldal"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Egyenlő"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Ha bejelölt, igazat ad, ha bal oldal = jobb oldal"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Kissebb"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Ha bejelölt, igazat ad, ha bal oldal < jobb oldal"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Rossz típus az összetett értékhez"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Vörös"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "A szín vörös komponense"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Zöld"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "A szín zöld komponense"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Kék"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "A szín kék komponense"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Átlátszóság"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "A szín átlátszósága"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Pont 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "A szegmens első pontja"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangens 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "A szegmens első tangense"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Pont 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "A szegmens második pontja"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangens 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "A szegmens második tangense"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "X tengely"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "A vektor X koordinátája"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Y tengely"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "A vektor Y koordinátája"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Csúcspont"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "A szomszédokhoz relatív ki és bekapcsolt pozíciókat definiálja"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Szétkapcsolt"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "Ha bekapcsolt, akkor a tangensek függetlenek"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "A szélességi pont szélessége"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Az oldal típusa előtte"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "A szélességi pont interpolációjának típusát határozza meg"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolál"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Az oldal típusa utána"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr "Alsó határ"
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr "Felső határ"
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Hossz"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr "A vonalkázott elem hossza"
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr "A vonalkázott elem oldalának típusát határozza meg"
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Érték"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "Az érték, aminek a koszinuszát kell számítani"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Kilengés"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr "Az eredmény koszinusz szorzója"
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Ettől"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "A sorszám kezdeti értéke"
+
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "Eddig"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "A sorszám végső értéke"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
+msgstr "Sorszám növelési értéke"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
-msgstr "Felső határ"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Hossz"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
-msgstr "A vonalkázott elem hossza"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
-msgstr "A vonalkázott elem oldalának típusát határozza meg"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "Az összehasonlítás bal oldala"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "Az összehasonlítás jobb oldala"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Nagyobb"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "Ha bejelölt, igazat ad, ha bal oldal > jobb oldal"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Egyenlő"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "Ha bejelölt, igazat ad, ha bal oldal = jobb oldal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Kissebb"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "Ha bejelölt, igazat ad, ha bal oldal < jobb oldal"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
-msgstr "Az érték, aminek a koszinuszát kell számítani"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Kilengés"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
-msgstr "Az eredmény koszinusz szorzója"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "Ettől"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
-msgstr "A sorszám kezdeti értéke"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "Eddig"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
-msgstr "A sorszám végső értéke"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
-msgstr "Sorszám növelési értéke"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Lista típus/elem típus eltérés, az elérés eldobása"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Elem %03d"
@@ -3749,6 +4285,18 @@ msgstr "Az konstans 'e' hatvány kitevője"
 msgid "Multiplier of the resulting exponent"
 msgstr "Az eredmény kitevő szorzója"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "Az elforgatandó színátmenet"
@@ -3757,58 +4305,88 @@ msgstr "Az elforgatandó színátmenet"
 msgid "The amount to offset the gradient"
 msgstr "A színátmenet eltolási értéke"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "A konvertálandó egész érték"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Szövegek"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "Az összefűzendő szövegek listája"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Elötte"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "Az összekapcsolt szövegek elé fűzendő szöveg"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Elválasztó"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "Az összekapcsolt szövegek közébe fűzendő szöveg"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Utána"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "Az összekapcsolt szövegek után fűzendő szöveg"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Mérték"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Az érték amellyel az aktuális időt szorozzuk (másodpercben)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Lejtő"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "A visszatérési érték, ha az aktuális idő nulla"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epszilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Végtelen"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "A visszatérési érték, ha az eredmény a végtelenbe tart"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NEM"
@@ -3837,29 +4415,17 @@ msgstr "A hatványozás alapja"
 msgid "The power used to raise the base"
 msgstr "A hatványkitevő"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epszilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 "Az az érték, amelyet az alap vagy a kitevő nullával történő "
 "összehasonlításánál használunk"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Végtelen"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "A visszatérési érték, ha az eredmény a végtelenbe tart"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Rossz típus a sugaras összetett értékhez"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Világosság"
 
@@ -3875,60 +4441,34 @@ msgstr "Téta"
 msgid "The angle of the vector with the X axis"
 msgstr "A vektor X tengelyhez viszonyított szöge"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Néhány paraméterem nincs beállítva"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "A visszatérési érték, ha a 'kapcsolat' kisebb"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "A visszatérési érték, ha a 'kapcsolat' nagyobb"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "Az intervallum meghatározásához használt értékcsomópont"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "A szöveggé konvertálandó érték"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "A szöveg szélessége"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Pontosság"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "A tizedes helyek száma"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Nullákkal kitöltött"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"Ha bejelölt, a szöveg balról nullákkal lesz kitöltve, hogy a szöveg a "
-"megfelelő szélességű legyen"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "Az értékcsomópont, amelyet a reciprok érték kiszámításához használunk"
@@ -3962,10 +4502,8 @@ msgstr "A színátmenet ismétléseinek száma"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
-"Meghatározza, hogy mennyire kiegyensúlyozott a forrás színátmenet az "
-"ismétlődésben [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -4005,16 +4543,16 @@ msgstr "Befejező szín"
 msgid "Used as the end of the resulting gradient"
 msgstr "Az eredmény színátmenet végső értéke"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Kísérlet nem invertálható értékcsomópont inverzének kiszámítására"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "A skálázáshoz használt értékcsomópont"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Az az érték, amelyet az értékcsomópont megszorzására használunk"
 
@@ -4047,27 +4585,27 @@ msgstr "A szög amelynek szinuszát számítjuk"
 msgid "The value that multiplies the resulting sine"
 msgstr "Az érték, amely szorozza az eredményül kapott szinuszt"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "A lépéshez használt értékcsomópont"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "A lépés hossza"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Kezdő időpont"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "Az időpont, amikor a lépéskonverzió kezdődik"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Metszéspont"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4099,15 +4637,15 @@ msgstr "A színátmenetben lévő sávok száma"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "A színátmenetben lévő sávok szélessége"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "A kivonás bal oldala"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "A kivonás jobb oldala"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Az érték, amely megszorozza a kivonási értéket"
 
@@ -4133,26 +4671,26 @@ msgstr ""
 "Ha bejelölt, 'Kapcsolat bekapcsolt' értékével, egyébként a 'Kapcsolat "
 "kikapcsolt' tér vissza"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 "A visszatérési értékcsomópont, ha az aktuális idő az 'idő' - 'hossz' előtt "
 "van"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr "A visszatérési értékcsomópont, ha az aktuális idő az 'idő' után van"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Idő"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "Az időpont, ha a lineáris interpoláció véget ér"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4165,10 +4703,14 @@ msgid "The value node to time loop"
 msgstr "Az idő ciklushoz használt értékcsomópont"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "A ciklus kezdő időpontja az idővonalbeli értékcsomóponthoz "
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "Az idő, amelyet szöveggé kell konvertálni"
 
@@ -4180,556 +4722,539 @@ msgstr "A színátmenet kezdő színe"
 msgid "The end color of the gradient"
 msgstr "A színátmenet befejező színe"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "Az a vektor, amelyből a szöget számítjuk"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "A vektor, amelyből a hosszat számítjuk"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "A vektor, amelyből az X koordinátát számítjuk"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "A vektor, amelyből az Y koordinátát számítjuk"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Szélességi pont %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "VÉGZETES: Synfig verzióeltérés"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Beállítások"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Kép ablak átlója méretének beállítása (fesztáv)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Élsimítás mennyiségének beállítása a paraméteres megjelenítő számára"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Kimeneti fájlnév mehatározása"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "A vászon megjelenítése a megadott azonosítóval, a gyökér helyett"
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Kocka sebesség beállítása"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Egyetlen kocka megjelenítése <seconds> időpontban"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Kezdő időpont beállítása"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Befejező időpont beállítása"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Csendes mód (Nincs előhaladás/hátralévő idő kijelzés)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "A <filename>-ban lévő rétegek hozzáfűzése a kompozícióhoz"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "A gyökér vászon meghatározott részleteinek kinyomtatása"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Az elérhető importálók kinyomtatása"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Vegyes fordítási információk kinyomtatása"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Az elérhető rétegek kinyomtatása"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 "A réteg leírásának, paraméter információinak és egyebeknek kinyomtatása"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Licenc információk kinyomtatása"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "A betöltött modulok  kinyomtatása"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Az elérhető célformátumok kinyomtatása"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "Az elérhető értékcsomópontok kinyomtatása"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Verzió információ kinyomtatása"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Teszt GUID generálása"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Teszt szignál implementáció"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nincs mit tenni!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Megpróbálom meghatározni a  célformátumot/kimeneti fájlt..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "A célformátum nem meghatározott, megpróbálom kitalálni"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "PNG lesz az alapértelmezett célformátum"
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Munka eldobása"
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Cél létrehozása..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "A cél vásznának beállítása..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "A cél minőségének beállítása..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Megjelenítés..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Kész."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Nem felismert vászon változó:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "A felismert változók:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "A kimenet részletezettsége erre van beállítva:"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Élsimítás %d értékre van beállítva (%d minta per pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Fesztáv %d egységre van beállítva"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Kockasebesség %d kocka per másodperc értékre van állítva"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "A fizikai felbontás %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "A fizikai X felbontás %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "A fizikai X felbontás %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Egy képkocka megjelenítése ekkor: "
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "A minőség: "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Nem lehet hozzáfűzni '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Az alábbi fájl tartalmának hozzáfűzése megtörtént:"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Befejező idő"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Kockasebesség"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Kezdő kocka"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Befejező kocka"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Képarány"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Pixel szélesség"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Pixel magasság"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Pixel arány"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Bal felső"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Jobb alsó"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Fizikai szálesség"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Fizikai magasság"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X felbontás"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y felbontás"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Kép átlós fesztáv"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Összefűzött"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Élsimítás"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Jelzők"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Fókusz"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Háttérszín"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Leíró adat"
diff --git a/po/it.gmo b/po/it.gmo
index fe21659..e445690 100644
Binary files a/po/it.gmo and b/po/it.gmo differ
diff --git a/po/it.po b/po/it.po
index f2b7fa4..f784e9e 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Italian (http://www.transifex.com/projects/p/synfig/language/"
 "it/)\n"
@@ -22,166 +22,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Rettangolo Pieno"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Esempio"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Colore"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Colore di riempimento del livello"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punto 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Primo vertice del rettangolo"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punto 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Secondo vertice del rettangolo"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Sfuma X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Sfuma Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Smusso"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Utilizzare Smusso per i vertici"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Mantieni Smusso Circolare"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Quando è selezionata lo smusso è circolare"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metasfere"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradiente"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Sfere"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Raggi"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Pesi"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradiente Sinistro"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradiente Destro"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Solo Positivo"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Cerchio Semplice"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centro"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centro del cerchio"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Raggio"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Questo è il raggio del cerchio"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Testo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Altro"
 
@@ -201,6 +52,17 @@ msgstr "gruppo font vuoto"
 msgid "Text to Render"
 msgstr "Testo da Visualizzare"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Colore"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Colore del testo"
@@ -215,6 +77,7 @@ msgstr "Stile"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normale"
 
@@ -227,6 +90,7 @@ msgid "Italic"
 msgstr "Italico [Corsivo]"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Peso"
 
@@ -267,8 +131,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Descrive come sono, verticalmente, i glifi vicini"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -288,16 +152,17 @@ msgid "Text Orientation"
 msgstr "Orientamento del testo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origine"
 
@@ -330,96 +195,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Togli il segno di spunta se stai per animare il testo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Inversione"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Nessun font caricato, nessun testo verrà visualizzato."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Testo troppo piccolo, nessun testo verrà visualizzato."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Impossibile impostare le dimensioni del font."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Sequenza multibye invalida - è stata impostata la lingua locale?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Non posso analizzare il carattere multibyte.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Smusso"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizza"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Tipo di sfocatura da usare"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Sfocatura Media Circostante \"Box Blur\""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Sfocatura Gaussiana Veloce"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Sfocatura a Tratteggio"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Sfocatura Gaussiana"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Sfocatura Radiale"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Colore Chiaro"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Colore Scuro"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Angolo della Luce"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Profondità dello Smusso"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Morbidezza"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Uso Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Solido"
 
@@ -431,7 +301,7 @@ msgstr "Gruppo di Aree"
 msgid "Set of regions to combine"
 msgstr "Gruppo di aree da unire"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Compatta"
 
@@ -470,28 +340,101 @@ msgstr "Inferiore"
 msgid "Lower boundary of the clamping"
 msgstr "Limite inferiore del serraggio"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Deformazione Curva"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distorsioni"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Larghezza"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Ampiezza del risultato perpendicolare alla linea origine"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Punto Iniziale"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Vertice Superiore Sinistro della destinazione"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Punto Finale"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Vertice Superiore Destro della destinazione"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vertici"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Veloce"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Vertice Inferiore Sinistro della destinazione"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importa Immagine"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Il nome del file pare sia già impostato a \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Nome del file"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "File da importare"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Sfalsamento Tiemporale"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Sfalsamento Temporale da applicare al file importato"
 
@@ -499,17 +442,9 @@ msgstr "Sfalsamento Temporale da applicare al file importato"
 msgid "Inside Out"
 msgstr "Al rovescio"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distorsioni"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Definisci la posizione del cento"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -662,7 +597,7 @@ msgstr "Sfalsamento Esterno"
 msgid "Scale Outside"
 msgstr "Scala Esterno"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Ruota"
 
@@ -673,15 +608,14 @@ msgstr "Trasforma"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Punto dove impostare l'origine"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -697,7 +631,7 @@ msgstr "Valore della rotazione"
 msgid "Shade"
 msgstr "Ombra"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Dimensione dell' Ombra"
 
@@ -707,7 +641,7 @@ msgid "Spherize"
 msgstr "Sferizza"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Posizione"
 
@@ -715,6 +649,17 @@ msgstr "Posizione"
 msgid "Where the sphere distortion is centered"
 msgstr "Nei casi in cui la distorsione della sfera è centrata"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Raggio"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "La dimensione della distorsione sferica"
@@ -755,6 +700,14 @@ msgstr "Stira"
 msgid "Size of the stretch relative to its Center"
 msgstr "Ampiezza dello stiramento in rapporto al suo centro"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centro"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Nei casi in cui la distorsione del tratto è centrata"
@@ -775,50 +728,39 @@ msgstr "Frequenza dello Strobo al secondo"
 msgid "Super Sample"
 msgstr "Super Esempio"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Impossibile creare Superficie Destinazione"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Larghezza"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Larghezza dell'area d'esempio (in pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Altezza"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Altezza dell'area d'esempio (in pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Usa Parametrico"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Usa il Visualizzatore Parametrico"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Mantenere la Transparencia"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Evitare gli artefatti alfa quando spuntato"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Ciclo Temporale Continuo"
@@ -831,40 +773,40 @@ msgstr "Tempo di Collegamento"
 msgid "Start time of the loop for the cycled context"
 msgstr "Tempo di inizio ciclo per il contesto esaminato"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Ora Locale"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Il momento in cui inizia il ciclo risultante"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durata"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Lunghezza del ciclo"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Solo Per Durata Positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "Se spuntato, ciclerà solamente le durate positive"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Simmetrico"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Se spuntato, i cicli vengono rispecchiati all'Ora Locale"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Traduzione"
 
@@ -872,6 +814,19 @@ msgstr "Traduzione"
 msgid "Twirl"
 msgstr "Rotea"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centro del cerchio"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Questo è il raggio del cerchio"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotazioni"
@@ -948,58 +903,6 @@ msgstr "Orizzonte"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Utilizzare Smusso per i vertici"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Deformazione Curva"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Ampiezza del risultato perpendicolare alla linea origine"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Punto Iniziale"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Vertice Superiore Sinistro della destinazione"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Punto Finale"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Vertice Superiore Destro della destinazione"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vertici"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Veloce"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Vertice Inferiore Sinistro della destinazione"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Motivo XOR"
@@ -1012,10 +915,11 @@ msgstr "Angolo superiore sinistro dell'immagine"
 msgid "Size of the pattern"
 msgstr "Angolo inferiore destro dell'immagine"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Scala"
 
@@ -1027,60 +931,60 @@ msgstr "Valore da scalare"
 msgid "Point to scale from"
 msgstr "Punto dal quale scalare"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Impossibile aprire %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s non è in formato BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Lettura di bitmap compressi non supportata"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 "Profondità di bit non soportata (bit_count=%d, dovrebbe essere 24 o 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr " (animato)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Impossibile aprire il file"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Impossibile scrivere l'intestazione del file"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Impossibile scrivere le informazioni d'intestazione"
 
@@ -1092,37 +996,137 @@ msgstr "Impossibile scrivere le informazioni d'intestazione"
 msgid "Unable to open pipe to encodedv"
 msgstr "Impossibile aprire il canale a encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Rettangolo Pieno"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Esempio"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Colore di riempimento del livello"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punto 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Primo vertice del rettangolo"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punto 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Secondo vertice del rettangolo"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Sfuma X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Sfuma Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Utilizzare Smusso per i vertici"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Mantieni Smusso Circolare"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Quando è selezionata lo smusso è circolare"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metasfere"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradiente"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Sfere"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Raggi"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Pesi"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradiente Sinistro"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradiente Destro"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Solo Positivo"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Cerchio Semplice"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Impossibile aprire il canale a ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Impossibile aprire il canale a ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Impossibile aprire il canale a ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Impossibile aprire il canale a ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Impossibile aprire il canale a ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1133,7 +1137,7 @@ msgstr "Sfoca"
 msgid "Blurs"
 msgstr "Sfocature"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Ampiezza Sfocatura"
 
@@ -1247,13 +1251,13 @@ msgstr "Ampiezza Sfocatura"
 msgid "Fade Out"
 msgstr "Dissolvenza"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Scacchiera"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Contorno Avanzato"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1261,77 +1265,6 @@ msgstr "Scacchiera"
 msgid "Geometry"
 msgstr "Geometría"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Colore Riquadri"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Definisce gli angoli del poligono"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Dimensione Riquadri"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Cerchio"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Raggio del cerchio"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Sfumatura"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Importo della sfumarura del cerchio"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Inversione Circolo"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Deterioremento"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Determina la funzione di deterioramento della sfumatura"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Lineare"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Quadtrato"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Radice Quadrata"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Coseno"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "Contorno Avanzato"
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1374,37 +1307,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "Terminazione arrotondata"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Terminazione squadrata"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Terminazione appuntita"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Terminazione Piatta"
 
@@ -1443,7 +1376,7 @@ msgstr "Determina l'interpolazione tra i punti. (0) Lineare (1) Smussato"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1491,6 +1424,77 @@ msgstr "Scostamento Voci Tratteggio"
 msgid "Distance to Offset the Dash Items"
 msgstr "Distanza di Scostamento delle Voci Tratteggio"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Scacchiera"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Colore Riquadri"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Definisce gli angoli del poligono"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Dimensione Riquadri"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Cerchio"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Raggio del cerchio"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Sfumatura"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Importo della sfumarura del cerchio"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Inversione Circolo"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Deterioremento"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Determina la funzione di deterioramento della sfumatura"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineare"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Quadtrato"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Radice Quadrata"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Coseno"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Contorno"
@@ -1569,7 +1573,9 @@ msgstr "Raggio dei punti interni della stella"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angolo"
 
@@ -1577,7 +1583,7 @@ msgstr "Angolo"
 msgid "The orientation of the star"
 msgstr "Orientamento della stella"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Punti"
 
@@ -1593,12 +1599,12 @@ msgstr "Poligono Regolare"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Sia per disegnare una stella o un poligono"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Impossibile aprire \"%s\" in scrittura!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Descrizione non impostata!"
 
@@ -1617,7 +1623,7 @@ msgstr "Gradienti"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1634,7 +1640,7 @@ msgstr "Rotazione del gradiente attorno al centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Se selezionato, il gradiente viene ciclato"
@@ -1653,25 +1659,26 @@ msgid "Global width of the gradient"
 msgstr "Ampiezza globale del gradiente"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Ciclo Continuo"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZigZag"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Se selezionato, il gradiente è simmetrico al centro"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1681,11 +1688,11 @@ msgstr "Perpendicolare"
 msgid "Linear Gradient"
 msgstr "Gradiente Lineare"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Punto di inizio del gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Punto finale del gradiente"
 
@@ -1714,54 +1721,59 @@ msgstr "Senso Orario"
 msgid "When checked the spiral turns clockwise"
 msgstr "Se selezionato, la spirale gira in senso orario"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Nessun file da caricare"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Impossibile aprire "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Impossibile aprire il fotogramma da "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Errata superficie da "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Impossibile aprire il canale a imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Raggiunta la fine del flusso senza trovare l'intestazione PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "flusso non in formato PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Prematura fine del file (dopo l'intestazione)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Prematura fine del file"
 
@@ -1794,7 +1806,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Cambia per modificare il valore casuale del disturbo"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolazione"
@@ -1810,16 +1822,16 @@ msgid "Nearest Neighbor"
 msgstr "Vicino più Prossimo"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Curvatura"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubico"
@@ -1849,7 +1861,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Se selezionato, produce un disturbo turbolento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Casuale"
 
@@ -1877,58 +1889,60 @@ msgstr "Super Esempio"
 msgid "When checked the gradient is supersampled"
 msgstr "Se selezionato, il gradiente viene sovracampionato"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Collegamento"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "Sorgente del valore del nodo che fornisce il valore centrale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "Il valore della differenza massima casuale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Origine"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Omposta il valore iniziale del generatore di numeri casuali"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Velocità"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Definisce quanto spesso viene scelto un nuovo valore casuale (in scelte al "
 "secondo)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determina come il valore viene interpolato da una scelta casuale per la "
 "successiva"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Nessuna interpolazione"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Ciclo Temporale Continuo"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Ripete il valore casuale dopo il tempo stabilito"
 
@@ -1996,6 +2010,7 @@ msgstr ""
 "visualizzazione"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Inversa"
 
@@ -2003,8 +2018,8 @@ msgstr "Inversa"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Se abilitato, visualizza la pianta nella direzione opposta"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Passo"
 
@@ -2059,66 +2074,173 @@ msgstr "Usa Larghezza"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s non in formato PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Non può aprire un file vuoto"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): Non trova l'estensione"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "Booleano"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Tipo di file sconosiuto -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "Intero"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "Angolo"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Reale"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "Tempo"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vettore"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Colore"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segmento"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "punto_larghezza"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "tratteggio_voce"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "Lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Tela"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "Stringa"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "Gradiente"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Nessuna immagine in lista"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "in linea"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unità"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixel"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Pollici"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metri"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimetri"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centímetri"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Non può aprire un file vuoto"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): Non trova l'estensione"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Tipo di file sconosiuto -- "
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Impossibile creare la superficie di destinazione"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Profondità Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica la posizione del livello nella pila dei livelli"
 
@@ -2138,24 +2260,25 @@ msgstr "Basso-Destra"
 msgid "Lower right-hand Corner of image"
 msgstr "Angolo inferiore destro dell'immagine"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "canale Alfa del livello"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Metodo Miscela"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr "Metodo di fusione usato per comporre gli strati sottostanti"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Duplicato"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Indice"
 
@@ -2195,7 +2318,7 @@ msgstr "Tipo Sottocampionamento"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Tipo di curvatura per la ponderazione dei sottocampionamenti"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Costante"
 
@@ -2221,58 +2344,49 @@ msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 "Valore relativo dell'ultimo sottocampionamento, per la ponderazione lineare"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Tela"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Ingrandimento"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Dimensione della Tela"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Scostamento temporale da applicare al contesto"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Blocco Bambini"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 "Se selezionato, impedisce di selezionare i discendenti con il clic del mouse"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Punto Focale"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Punto che resta fisso in ingrandimento"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Incremento contorno"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 "Valore esponenziale di crescita dei figli per l'ampiezza dei livelli Contorno"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Ora Attuale"
 
@@ -2280,11 +2394,11 @@ msgstr "Ora Attuale"
 msgid "Polygon"
 msgstr "Poligono"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Lista Vertici"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Definisce gli spigoli del poligono"
 
@@ -2296,101 +2410,153 @@ msgstr "Forma"
 msgid "Internal"
 msgstr "Interno"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Colore del Piano_Forma"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Antiscalettatura"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Tipo di Sfumatura"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Tipo di sfumatura da usare"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Stile Serpentina"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Stile serpentina da usare"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Non Zero"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Pari/Dispari"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nome"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Colore Pieno"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Arrotondato"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Impossibile aprire il file"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Interruttore"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "Impossibile caricare '%s' ricorsivamente"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Elemento inatteso <%s>, Atteso <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inatteso <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Troppi avvisi"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> mancante dell'attributo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> non dovrebbe contenere nulla"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> mancante dell'attributo \"value\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Valore errato \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> mancante dell'attributo \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Impossibile creare <animated> col tipo \"%s \""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> mancante dell'attributo \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2398,387 +2564,407 @@ msgstr ""
 "Trovato \"use\" attributo per <waypoint>, però non era vuoto. Ingoro il "
 "contenuto..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "ID Sconosciuto (%s) riferito nella visuale"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> mancante del dato"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Dato errato per <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Elemento inatteso<%s> dopo <waypoint>, ingnoro il dato..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Attributo mancante \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Tipo errato in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Errore creando il Valore del Nodo <%s> con tipo '%s'. Riferito a '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> non accetta il tipo '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' già definito in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "attributo '%s' in <%s> con riferimento sconosciuto a ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Impossibile impostare il collegamento \"%s\" al Valore del Nodo \"%s"
 "\" (collegamento #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Eccezione sconosciuta sollevata nel riferimento al Valore del Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Elemento <%s> mancante del contenuto"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Analisi di '%s' fallita"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Impossibile connettere il valore del nodo ('%s' di tipo '%s') al "
 "collegamento %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Eccezione sconosciuta sollevata agendo sull'elemento \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> collegamento mancante a %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> contenuti mancanti o elemento \"use\" mancante"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Impossibile creare <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Dati errati in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Atteso un Valore del Nodo. Riferito a '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "ID Errato \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID duplicato \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 "Eccezione sconosciuta sollevata durante l'aggiunta del Valore del Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Attributo mancante \"type\" all'elemento \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "La versione dei piani installata è inferiore alla versione dei piani nel file"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Dato inserito <name> per <layer> non ancora supportato. Ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Dato inserito <desc> per <layer> non ancora supportato. Ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Attributo \"name\" mancante per <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "Rilevato attributo \"use\" per <param>, ma non vuoto. Ingnoro il contenuto..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Uso vuoto=\"\" valore in <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Errore caricamento sotto-tela '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Il piano ha respinto il collegamento della tela"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "ID Sconosciuto (%s) riferito nel parametro \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> mancante del contenuto o mancante un attributo di \"use\"."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Dato errato per <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Il piano '%s' ha respinto il valore per il parametro '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Elemento inatteso <%s> dopo il dato <param>, ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Tela con valore larghezza o altezza inferiore a uno non consentito"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> deve avere un nome"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> deve avere un contenuto"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "entità \"name\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "entità \"desc\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "entità \"author\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Tela '%s' ha '%s':'%s' indefinito"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Valore del Nodo"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Valori dei Nodi"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Impossibile aprire il file"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Versione API non corrispondente (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Dimensione del Vettore non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Dimensione di Colore non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Dimensione della Tela non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Dimensione del Piano non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Avvio Sottosistema \"Modules\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Impossibile inizializzare il sottosistema \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Avvio sottosistema \"Layers\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Impossibile inizializzare il sottosistema \"Layers\""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Avvio Sottosistema \"Targets\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Impossibile inizializzare il sottosistema \"Targets\""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Avvio Sottosistema \"Importers\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Impossibile inizializzare il sottosistema \"Importers\""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Avvio Sottosistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Impossibile inizializzare il sottosistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Caricamento moduli da %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Impossibile aprire il file della lista moduli '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "FATTO"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "errore"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "attenzione"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "informazione"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Errori in lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Impossibile caricare il modulo \"%s\""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Tentativo di registrazione \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Impossibile trovare il modulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Rilevato modulo \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Impossibile trovare il punto d'ingresso nel modulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Il punto d'ingresso non restituisce un modulo."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "Esito positivo per \"%s\""
@@ -2816,8 +3002,8 @@ msgstr "%s non sembra essere un file di tavolozza valido %s"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s non sembra essere un file di tavolozza supportato"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Composito"
 
@@ -2857,13 +3043,13 @@ msgstr "_Moltiplica"
 msgid "Divide"
 msgstr "Divide"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Somma"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Sottrai"
 
@@ -2879,12 +3065,12 @@ msgstr "Sc_hiarimento"
 msgid "Darken"
 msgstr "Scurisce"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Tonalità"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Saturazione"
 
@@ -2906,17 +3092,17 @@ msgstr "Alfa Scurisce"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Panico per il formato"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Valore sconosciuto (%s), impossibile creare una rappresentazione XML!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
@@ -2924,7 +3110,7 @@ msgstr ""
 "rappresentazione XML!"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Errore inizializzazione formato"
 
@@ -2942,32 +3128,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Stringa rilevata :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Fuori memoria (Probabilemente un bug)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Rilevato errore sconosciuto, rilancio..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Dimensione Errata Tessera"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Errore Visualizzazione Accelerata"
 
@@ -2976,8 +3158,8 @@ msgstr "Errore Visualizzazione Accelerata"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Impossibile porre la superficie nel formato"
 
@@ -2985,21 +3167,21 @@ msgstr "add_tile():Impossibile porre la superficie nel formato"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Errore Visualizzatore Parametrico"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Errore superficie"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 "Time(): Nessuna unità fornita nel time code, assumo  FOTOGRAMMI (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -3007,314 +3189,230 @@ msgstr ""
 "Time(): Nessuna unità fornita nel time code e il numero immagini al secondo "
 "è sconosciuto! Assumo SECONDI"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "Booleano"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
+msgstr "Radiale Composito"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "Intero"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "Riferimento"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "Angolo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "Tempo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "Reale"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "Vettore"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "Colore"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "Segmento"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "Punto di línea Beizer (BLine)"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "punto_larghezza"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "tratteggio_voce"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "Lista"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "Tela"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "Stringa"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "Gradiente"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "Nullo"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr "Radiale Composito"
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr "Riferimento"
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente Segmento"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Vertice Segmento"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Striscie"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Doppia Tonalità"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Lista Dinamica"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotazione Gradiente"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Seno"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Interscambio Temporizzato"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Ripetizione Gradiente"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Esponenziale"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Intervallo"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Interruttore"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Coseno"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Tangente Inversa"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciproco"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Intero"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Angolo Vettore"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Lunghezza Vettore"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vettore X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vettore Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Colore Gradiente"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Punto Prodotto"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Stringa Tempo"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Reale"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Stringa Reale"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Lista Unita"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Stringa Angolo"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Stringa Intero"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logaritmo"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Disattivato"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Potenza"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparare"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "No"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Sì"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "O"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "DILista"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Tipo errato: Il valore del Nodo %s non acetta il tipo %s"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Segnaposto"
 
@@ -3323,45 +3421,51 @@ msgstr "Segnaposto"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d tipo errato per %s: richiesto %s ma ottenuto %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":Tipo errato "
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Uno o entrambe i parametri non sono impostati"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Lato sinistro del componente aggiuntivo"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Sul lato destro del componente aggiuntivo"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Scalare"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Valore che moltiplica il componente aggiuntivo"
 
@@ -3385,6 +3489,42 @@ msgstr "Collegamento2"
 msgid "Second operand of the AND operation"
 msgstr "secondo operando dell'operazione AND"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Valore da convertire in stringa"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Larghezza della stringa"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precisione"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Numero di cifre decimali"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Completato con degli \"0\""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"Se selezionato, la stringa viene riempita con zeri a sinistra sì che "
+"corrisponda alla larghezza"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
@@ -3392,68 +3532,87 @@ msgid "A waypoint already exists at this point in time"
 msgstr ""
 "Un punto di interpolazione (waypoint) esiste già in questo punto temporale"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: Non puoi usare %s in un Valore del Nodo animato"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animato"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Nessun valore nella lista"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Nessun valore nella ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertice %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "Se selezionato, l'importo verrà ciclato"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Sfalsamento"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Scostamento angolare della tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Scala della tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Lunghezza Fissa"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "Se selezionato, la lunghezza della tangente viene fissata"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3485,256 +3644,633 @@ msgstr "Scala della larghezza"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Il lato sinistro del confronto"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Il lato destro del confronto"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Maggiore"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Se selezionato, restituisce true se LHS > RHS"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Uguale"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Se selezionato, restituisce true se LHS = RHS"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Minore"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Se selezionato, restituisce true se LHS < RHS"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Tipo errato per composito"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Rosso"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "La componente rossa del colore"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Verde"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "La componente verde del colore"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Blu"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "La componente blu del colore"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "L'alfa del colore"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vertice 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "Il primo vertice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "La tangente prima del segmento"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vertice 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Il secondo vertice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "La seconda tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "Asse-X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "La componente Asse-X del vettore"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Asse-Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "La componente Asse-Y del vettore"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vertice"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Definisce la posizione On/Off rispetto ai vicini"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Dividere"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "Se selezionato, le tangenti sono indipendenti"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "La larghezza del Punto Larghezza"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr "Batti prima il lato"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr "Definisce il tipo di interpolazione del punto di larghezza"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr "Interpolare"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr "Batti Dopo il Lato"
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
-msgstr "Limite Inferiore"
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr "Limite Inferiore"
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr "Limite Superiore"
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Lunghezza"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr "La lunghezza della Voce di Tratteggio"
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr "Definisce la parte tipo della voce trattino"
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Valore"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "Valore per calcolare il coseno"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Ampiezza"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr "Moltiplicatore del coseno risultante"
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Da"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "Valore iniziale dell'indice"
+
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "A"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Valore finale dell'indice"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
+msgstr "Valore incremento dell'indice"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
-msgstr "Limite Superiore"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Lunghezza"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
-msgstr "La lunghezza della Voce di Tratteggio"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
-msgstr "Definisce la parte tipo della voce trattino"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "Il lato sinistro del confronto"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "Il lato destro del confronto"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Maggiore"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "Se selezionato, restituisce true se LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Uguale"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "Se selezionato, restituisce true se LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Minore"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "Se selezionato, restituisce true se LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
-msgstr "Valore per calcolare il coseno"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Ampiezza"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
-msgstr "Moltiplicatore del coseno risultante"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "Da"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
-msgstr "Valore iniziale dell'indice"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "A"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
-msgstr "Valore finale dell'indice"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
-msgstr "Valore incremento dell'indice"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Tipo lista/Tipo elemento discordante, discordanza rifiutata"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Elemento %03d"
@@ -3751,6 +4287,18 @@ msgstr "Valore di incremento della costante 'e'"
 msgid "Multiplier of the resulting exponent"
 msgstr "Moltiplicatore dell'esponente risultante"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "Gradiente origine di rotazione"
@@ -3759,58 +4307,88 @@ msgstr "Gradiente origine di rotazione"
 msgid "The amount to offset the gradient"
 msgstr "Valore di compensazione del gradiente"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "Valore intero da convertire"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Stringhe"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "Lista sequenze da collegare"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Prima"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "Sequenza da porre prima delle sequenze collegate"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Separatore"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "Sequenza da porre tra ogni sequenza collegata"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Dopo"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "La sequenza da porre dopo le sequenze collegate"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Frequenza"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "Valore che viene moltiplicato per il tempo corrente (in secondi)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Inclinazione"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "Valore restituito quando l'ora corrente è pari a zero"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Infinito"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Valore restituito quando il risultato tende a infinito"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NON"
@@ -3839,27 +4417,15 @@ msgstr "La base da elevare a potenza"
 msgid "The power used to raise the base"
 msgstr "Potenza utilizzata per aumentare la base"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Valore utilizzato per confrontare base o potenza con zero"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Infinito"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Valore restituito quando il risultato tende a infinito"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Tipo errato per composito radiale"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luma"
 
@@ -3875,60 +4441,34 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "Angolo del vettore con l'asse X"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Alcuni miei parametri non sono impostati"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Valore restituito quando 'Collegamento' è minore"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Valore restituito quando 'Collegamento' è maggiore"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "Valore del nodo che limitare la sua gamma"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Valore da convertire in stringa"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Larghezza della stringa"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Precisione"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Numero di cifre decimali"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Completato con degli \"0\""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"Se selezionato, la stringa viene riempita con zeri a sinistra sì che "
-"corrisponda alla larghezza"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "Valore del nodo utilizzato per calcolare il suo reciproco"
@@ -3962,8 +4502,8 @@ msgstr "Numero di ripetizioni del gradiente"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr "Specifica quanto parziale è la fonte gradeinte nella ripetizione [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -4003,16 +4543,16 @@ msgstr "Colore Finale"
 msgid "Used as the end of the resulting gradient"
 msgstr "Usato come fine del gradiente risultante"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Tentativo di ottenere l'inverso un Valore del Nodo non invertible"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "Valore del nodo utilizzato per scalare"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Valore che moltiplica il valore del nodo"
 
@@ -4045,27 +4585,27 @@ msgstr "Angolo a partire dal quale si calcola il seno"
 msgid "The value that multiplies the resulting sine"
 msgstr "Valore che moltiplica il seno risultante"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "Il valore del nodo utilizzato per eseguire la fase"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "Durata della fase"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Tempo Avvio"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "Tempo in cui la fase di conversione inizia"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Intersezione"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4097,15 +4637,15 @@ msgstr "Numero strisce nel gradiente"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Larghezza delle strisce nella sfumatura tra [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Lato Sinistro della sottrazione"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Lato Destro della sottrazione"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Valore che moltiplica la sottrazione"
 
@@ -4131,26 +4671,26 @@ msgstr ""
 "Se selezionato, 'Collegamento Acceso' restituisce, altrimenti restituisce "
 "'Collegamento Spento'"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 "Valore di nodo restituito quando il tempo attuale è prima di 'tempo' - "
 "'lunghezza'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr "Valore del nodo restituito quando l'ora corrente è dopo 'tempo'"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Tempo"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "Il tempo in cui l'interpolazione lineare finisce"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4163,11 +4703,14 @@ msgid "The value node to time loop"
 msgstr "Valore del nodo a ciclo temporale"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
-"Tempo di inizio del ciclo per il valore della sequenza temporale del nodo"
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "Tempo che viene convertito in stringa"
 
@@ -4179,556 +4722,539 @@ msgstr "Colore iniziale del gradiente"
 msgid "The end color of the gradient"
 msgstr "Colore finale del gradiente"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vettore"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "Vettore da cui viene calcolato l'angolo"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "Vettore da cui viene calcolata la lunghezza"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "Vettore da cui la coordinata X è estratta"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "Vettore da cui la coordinata Y è estratta"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Punto di Larghezza %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATALE: Versione di Synfig Non Corrispondente"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Impostazioni"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Imposta la dimensione diagonale dell finestra immagine (Span)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 "Imposta il valore dell'antiscalettatura per il visualizzatore parametrico"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Specifica il nome file in uscita"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Visualizza la tela con l'ID dato anziché la radice."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Imposta la frequenza fotogrammi"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Visualizza un solo fotograma al <seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Imposta il tempo di avvio"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Imposta il tempo di arresto"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Modo silenzioso (Non visualizza progresso/tempo restante)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Accoda i piani in <filename> per la composizione"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "Stampa i dettagli specificati nella tela radice"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Stampa la lista degli importatori disponibili"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Stampa l'insieme delle informazioni di costruzione"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Stampa la lista dei piani disponibili"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Stampa la descrizione dei piani, informazioni del parametro, etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Stampa le informazioni della licenza"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "Stampa la lista dei moduli caricati"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Stampa la lista dei formati disponibili"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "Stampa la lista dei Valori del Nodo disponibili"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Stampa le informazioni di versione"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Verifica la generazione della GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Verifica l'implementazione del segnale"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nulla da eseguire!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Tentativo di determinare il formato/file in uscita..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "Nome formato indefinito, tentativo di individuazione"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Impostazione formato predefinito a PNG..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Esecuzione attività..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Generazione formato..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Imposto la tela nel formato..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Imposto la qualità del formato"
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Visualizzazione..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Fatto."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Variabile tela non riconosciuta: "
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Le variabili riconosciute sono:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "dettagli impostati a "
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Antiscalettatura impostata a %d, (%d campionamenti per pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Dimensione impostata a %d unità"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Frequenza impostata a %d fotogrammi al secondo"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Risoluzione física impostata a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Risoluzione fisica di X impostata a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Risoluzione fisica di Y impostata a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Visualizzazione fotogramma a "
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Qualità impostata a "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Impossibile accodare '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Contenuti accodati di "
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Tempo Finale"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Frequenza Fotogrammi"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Fotogramma Avvio"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Fotogramma Finale"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Rapporto Aspetto Immagine"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Larghezza Pixel"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Altezza Pixel"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Rapporto Aspetto Pixel"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Alto Sinistra"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Basso Destra"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Larghezza Fisica"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Altezza Física"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Risoluzione X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Risoluzione Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Dimensione Diagonale Immagine"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Interlacciato"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Antiscalettatura"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Bandiere"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Fuoco"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Colore di Sfondo"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Metadati"
diff --git a/po/ja_JP.gmo b/po/ja_JP.gmo
index db2540e..b78de3d 100644
Binary files a/po/ja_JP.gmo and b/po/ja_JP.gmo differ
diff --git a/po/ja_JP.po b/po/ja_JP.po
index 7c32e82..3262fb7 100644
--- a/po/ja_JP.po
+++ b/po/ja_JP.po
@@ -1,16 +1,17 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# cyaoeu <cyaoeu at gmail.com>, 2013
-# cyaoeu <cyaoeu at gmail.com>, 2013
+# Henrik Berglund <cyaoeu at gmail.com>, 2013
+# Henrik Berglund <cyaoeu at gmail.com>, 2013
+# Tou Omiya, 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/synfig/"
 "language/ja_JP/)\n"
@@ -20,168 +21,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "色彩"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "頂点 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "頂点 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "ベベル"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "中心"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "円の中心"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "半径"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "これが円の半径です"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "テキスト"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "その他"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
@@ -199,34 +51,47 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "色"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "テキストの色"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "フォントファミリ"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr ""
+msgstr "スタイル"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "標準"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
-msgstr ""
+msgstr "斜体"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "イタリック体"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
-msgstr ""
+msgstr "ウェイト"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
@@ -250,7 +115,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr ""
+msgstr "水平間隔"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
@@ -258,15 +123,15 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr ""
+msgstr "垂直間隔"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -279,145 +144,152 @@ msgstr "テキストのサイズ"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr ""
+msgstr "方向"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr ""
+msgstr "テキストの方向"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
-msgstr ""
+msgstr "原点"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr ""
+msgstr "テキストの位置"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "フォント"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr ""
+msgstr "使用するフォントのファイル名"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
-msgstr ""
+msgstr "カーニング"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
+"フォントのカーニングの有無を切り替えます (フォントによるサポートが必要です)"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
-msgstr ""
+msgstr "エッジをシャープにする"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
-msgstr ""
+msgstr "テキストをアニメーションさせる場合は無効にしてください"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "反転"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
-msgstr "テキストが小さすぎるためレンダーできません。"
+msgstr "テキストが小さすぎるためレンダリングできません。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
-msgstr ""
+msgstr "多バイト文字をパースできません。\n"
+
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "ベベル"
 
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
-msgstr ""
+msgstr "スタイライズ"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "タイプ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
-msgstr ""
+msgstr "高速ガウスぼかし"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
-msgstr ""
+msgstr "クロスハッチングぼかし"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "ガウスぼかし"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
-msgstr ""
+msgstr "ベベルの深さ"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "輝度"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -429,7 +301,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,70 +340,135 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "カーブワープ"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
-#, c-format
-msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "ゆがみ"
 
-#: src/modules/lyr_std/import.cpp:293
-msgid "Filename"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
-msgid "File to import"
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
-msgid "Time Offset"
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
-msgid "Time Offset to apply to the imported file"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "始点"
 
-#: src/modules/lyr_std/insideout.cpp:55
-msgid "Inside Out"
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "終点"
 
-#: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:56
-msgid "Julia Set"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "頂点"
 
-#: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
-msgid "Fractals"
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:335
-msgid "Inside Color"
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336
-msgid "Color of the Set"
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "画像をインポート"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
+#, c-format
+msgid "Filename seems to already be set to \"%s\" (%s)"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
+msgid "Filename"
+msgstr "ファイル名"
+
+#: src/modules/lyr_std/import.cpp:318
+msgid "File to import"
+msgstr "インポートするファイル"
+
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
+msgid "Time Offset"
+msgstr "時間オフセット"
+
+#: src/modules/lyr_std/import.cpp:323
+msgid "Time Offset to apply to the imported file"
+msgstr "インポートしたファイルに適用する時間オフセット"
+
+#: src/modules/lyr_std/insideout.cpp:55
+msgid "Inside Out"
+msgstr "裏返し"
+
+#: src/modules/lyr_std/insideout.cpp:163
+msgid "Defines where the center will be"
+msgstr ""
+
+#: src/modules/lyr_std/julia.cpp:56
+msgid "Julia Set"
+msgstr "ジュリア集合"
+
+#: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
+msgid "Fractals"
+msgstr "フラクタル"
+
+#: src/modules/lyr_std/julia.cpp:335
+msgid "Inside Color"
+msgstr "内側の色"
+
+#: src/modules/lyr_std/julia.cpp:336
+msgid "Color of the Set"
+msgstr "集合の色"
+
 #: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr ""
+msgstr "外側の色"
 
 #: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
-msgstr ""
+msgstr "集合の外側の色"
 
 #: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
@@ -613,7 +550,7 @@ msgstr ""
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr ""
+msgstr "マンデルブロ集合"
 
 #: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
@@ -660,7 +597,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "回転"
 
@@ -671,31 +608,30 @@ msgstr "変形"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "量"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
-msgstr ""
+msgstr "回転量"
 
 #: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
-msgstr ""
+msgstr "影付け"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,21 +641,32 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
-msgstr ""
+msgstr "位置"
 
 #: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "半径"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
-msgstr ""
+msgstr "ゆがみの強度 (負の値を使用すると効果が反転します)"
 
 #: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
@@ -735,7 +682,7 @@ msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
-msgstr ""
+msgstr "ゆがみの方向"
 
 #: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
@@ -753,13 +700,21 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "中心"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
 
 #: src/modules/lyr_std/stroboscope.cpp:60
 msgid "Stroboscope"
-msgstr ""
+msgstr "ストロボ"
 
 #: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
@@ -771,55 +726,44 @@ msgstr ""
 
 #: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
-msgstr ""
+msgstr "スーパーサンプリング"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
-msgstr ""
+msgstr "タイムループ"
 
 #: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
@@ -829,40 +773,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "移動"
 
@@ -870,6 +814,19 @@ msgstr "移動"
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "円の中心"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "これが円の半径です"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -888,7 +845,7 @@ msgstr ""
 
 #: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
-msgstr ""
+msgstr "ワープ"
 
 #: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
@@ -946,58 +903,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "頂点"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,12 +915,13 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "拡大/縮小"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
@@ -1025,59 +931,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "ファイルを開けません"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
-msgstr ""
+msgstr "ファイルにヘッダーを書き込めません"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,48 +995,154 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "レイヤーを塗りつぶす色"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "頂点 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "矩形の第 1 頂点"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "頂点 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "矩形の第 2 頂点"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "境界のぼかし X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "境界のぼかし Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "メタボール"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "グラデーション"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
+"エラー: FFmpeg バイナリが見つかりません。\n"
+"\n"
+"\"ffmpeg\" または \"avconv\" (libav-tools パッケージ) をインストールしてくだ"
+"さい。"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "ファイルを開けません"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "ファイルを開けません"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "ファイルを開けません"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
-msgstr ""
+msgstr "ぼかし"
 
 #: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
-msgstr ""
+msgstr "ぼかし"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
-msgstr ""
+msgstr "ぼかしのサイズ"
 
 #: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
@@ -1216,7 +1228,7 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
+msgstr "色彩"
 
 #: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
@@ -1232,100 +1244,29 @@ msgstr ""
 
 #: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
-msgstr ""
+msgstr "放射状ぼかし"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
-msgstr ""
+msgstr "ぼかしのサイズ"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr ""
+msgstr "フェードアウト"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
 #: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "円"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "円の半径"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "リネア"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
+msgstr "図形"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
@@ -1369,37 +1310,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1430,7 +1371,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "なめらかさ"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
@@ -1438,7 +1379,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1462,11 +1403,11 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr ""
+msgstr "破線による輪郭線"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr ""
+msgstr "チェックすると、輪郭線に破線を使用します"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
@@ -1484,9 +1425,80 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "チェッカーボード"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "円"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "円の半径"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "境界のぼかし"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "減衰"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "線形"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "平方根"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "コサイン"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
-msgstr ""
+msgstr "輪郭線"
 
 #: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
@@ -1523,23 +1535,23 @@ msgstr ""
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
-msgstr ""
+msgstr "矩形"
 
 #: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
-msgstr ""
+msgstr "拡張量"
 
 #: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
-msgstr ""
+msgstr "矩形の反転"
 
 #: src/modules/mod_geometry/region.cpp:64
 msgid "Region"
-msgstr ""
+msgstr "領域"
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr ""
+msgstr "星"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
@@ -1560,42 +1572,44 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "角度"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
-msgstr ""
+msgstr "星の方向"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "点"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
-msgstr ""
+msgstr "星の頂点の数"
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "正多角形"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
-msgstr ""
+msgstr "星を描画するか、正多角形を描画するかを指定します"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:57
 msgid "Conical Gradient"
-msgstr ""
+msgstr "円錐形グラデーション"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
 #: src/modules/mod_gradient/curvegradient.cpp:62
@@ -1604,11 +1618,11 @@ msgstr ""
 #: src/modules/mod_gradient/spiralgradient.cpp:58
 #: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
-msgstr ""
+msgstr "グラデーション"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1625,7 +1639,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1644,24 +1658,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "ループ"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
-msgstr ""
+msgstr "ジグザグ"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1670,19 +1685,19 @@ msgstr ""
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr ""
+msgstr "線形グラデーション"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
-msgstr ""
+msgstr "グラデーションの始点"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
-msgstr ""
+msgstr "グラデーションの終点"
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr ""
+msgstr "放射状グラデーション"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:119
@@ -1691,7 +1706,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
-msgstr ""
+msgstr "渦巻きグラデーション"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
@@ -1699,60 +1714,65 @@ msgstr ""
 
 #: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
-msgstr ""
+msgstr "時計回り"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
-msgstr ""
+msgstr "チェックすると、渦巻きが時計回りになります"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1766,11 +1786,11 @@ msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
-msgstr ""
+msgstr "変位"
 
 #: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
-msgstr ""
+msgstr "ゆがみの大きさを指定します"
 
 #: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
@@ -1778,71 +1798,71 @@ msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
-msgstr ""
+msgstr "ランダムノイズのシード"
 
 #: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "補間方法"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
-msgstr ""
+msgstr "どのような方式で補間するかを指定します"
 
 #: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
 #: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
-msgstr ""
+msgstr "ニアレストネイバー"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
-msgstr ""
+msgstr "スプライン"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
-msgstr ""
+msgstr "キュービック"
 
 #: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
-msgstr ""
+msgstr "詳細"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
-msgstr ""
+msgstr "値を増加させると、より微細なノイズを生成します"
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
-msgstr ""
+msgstr "アニメーション速度"
 
 #: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
-msgstr ""
+msgstr "1 秒あたりサイクル数"
 
 #: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
-msgstr ""
+msgstr "乱流"
 
 #: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
-msgstr ""
+msgstr "チェックすると、乱流ノイズを生成します"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "ランダム"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
@@ -1868,60 +1888,62 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "リンク"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
-msgstr ""
+msgstr "補間なし"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
-msgstr ""
+msgstr "植物"
 
 #: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
@@ -1980,6 +2002,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1987,8 +2010,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2041,103 +2064,211 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
-#, c-format
-msgid "%s was not in PPM format"
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#, c-format
+msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr ""
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "SVG をインポート"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
-msgid "No images in list"
-msgstr ""
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "ブーリアン"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
-msgid "in line"
-msgstr ""
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "整数"
 
-#: src/synfig/distance.cpp:251
-msgid "Units"
+#: src/synfig/base_types.cpp:122
+msgid "angle"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
-msgid "Pixels"
-msgstr ""
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "実数"
 
-#: src/synfig/distance.cpp:254
-msgid "Inches"
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
-msgid "Meters"
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "ベクター"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "色彩"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "線分"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
-msgid "Millimeters"
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
-msgid "Centimeters"
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
-msgid "Unable to create surface target"
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
-msgid "Z Depth"
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
-msgid "Modifies the position of the layer in the layer stack"
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "リスト"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:155
-msgid "Top-Left"
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:156
-msgid "Upper left-hand Corner of image"
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
-msgid "Bottom-Right"
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:161
-msgid "Lower right-hand Corner of image"
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
-msgid "Alpha channel of the layer"
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
-msgid "Blend Method"
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
-msgid "The blending method used to composite on the layers below"
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
-msgid "Duplicate"
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
+msgid "in line"
+msgstr ""
+
+#: src/synfig/distance.cpp:258
+msgid "Units"
+msgstr "ユニット"
+
+#: src/synfig/distance.cpp:259
+msgid "Pixels"
+msgstr "ピクセル"
+
+#: src/synfig/distance.cpp:261
+msgid "Inches"
+msgstr "インチ"
+
+#: src/synfig/distance.cpp:262
+msgid "Meters"
+msgstr "メートル"
+
+#: src/synfig/distance.cpp:263
+msgid "Millimeters"
+msgstr "ミリ"
+
+#: src/synfig/distance.cpp:264
+msgid "Centimeters"
+msgstr "センチ"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
+msgid "Unable to create surface target"
+msgstr ""
+
+#: src/synfig/layer.cpp:791
+msgid "Z Depth"
+msgstr "Z 深度"
+
+#: src/synfig/layer.cpp:793
+msgid "Modifies the position of the layer in the layer stack"
+msgstr "レイヤースタック中のレイヤーの位置を変更します"
+
+#: src/synfig/layer_bitmap.cpp:155
+msgid "Top-Left"
+msgstr ""
+
+#: src/synfig/layer_bitmap.cpp:156
+msgid "Upper left-hand Corner of image"
+msgstr ""
+
+#: src/synfig/layer_bitmap.cpp:160
+msgid "Bottom-Right"
+msgstr ""
+
+#: src/synfig/layer_bitmap.cpp:161
+msgid "Lower right-hand Corner of image"
+msgstr ""
+
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
+msgid "Alpha channel of the layer"
+msgstr "レイヤーのアルファチャンネル"
+
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
+msgid "Blend Method"
+msgstr "ブレンドの種類"
+
+#: src/synfig/layer_composite.cpp:256
+msgid "The blending method used to composite on the layers below"
+msgstr "下のレイヤーとの合成方法"
+
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
+msgid "Duplicate"
+msgstr "複製"
+
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2151,7 +2282,7 @@ msgstr ""
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr ""
+msgstr "モーションぼかし"
 
 #: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
@@ -2177,9 +2308,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "定数"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2201,68 +2332,59 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr "位置オフセット"
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
-msgstr ""
+msgstr "多角形"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2274,479 +2396,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
-msgstr ""
+msgstr "アンチエイリアシング"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr ""
+msgstr "境界のぼかしの種類"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "スケルトン"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "名前"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
+msgstr "単色"
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "ファイルを開けません"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
-msgstr ""
+msgstr "警告が多すぎます"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
-msgid "Can't open file"
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
+msgid "Can't open file"
+msgstr "ファイルを開けません"
+
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
-msgstr ""
+msgstr "完了"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2784,81 +2977,81 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
-msgstr ""
+msgstr "合成"
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "値を上書き"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "クリッピング"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "クリッピングして値を上書き"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "最背面"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "スクリーン"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr ""
+msgstr "オーバーレイ"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr ""
+msgstr "ハードライト"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "乗算"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "除算"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
-msgstr ""
+msgstr "加算"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
-msgstr ""
+msgstr "減算"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr ""
+msgstr "差分"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr ""
+msgstr "明るく"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr ""
+msgstr "暗く"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "色相"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "彩度"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr ""
+msgstr "輝度"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
@@ -2866,33 +3059,33 @@ msgstr ""
 
 #: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr ""
+msgstr "明るく (アルファ)"
 
 #: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr ""
+msgstr "暗く (アルファ)"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "ターゲットの初期化に失敗"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
@@ -2908,32 +3101,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2942,8 +3131,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2951,333 +3140,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "資料"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "整数"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
-msgstr ""
+msgstr "ベクター X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
-msgstr ""
+msgstr "ベクター Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "実数"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "平均"
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr "加重平均"
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3286,45 +3391,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3348,74 +3459,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
-msgstr ""
+msgstr "頂点 %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
-msgstr ""
+msgstr "オフセット"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
-msgstr ""
+msgstr "接線の角度オフセット"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3447,256 +3611,633 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "赤"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "緑"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
+msgstr "青"
+
+#: src/synfig/valuenode_composite.cpp:638
+msgid "The blue component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:641
+msgid "Alpha"
+msgstr "アルファ"
+
+#: src/synfig/valuenode_composite.cpp:642
+msgid "The alpha of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:650
+msgid "Vertex 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:651
+msgid "The first vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
+msgid "Tangent 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:655
+msgid "The first tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:658
+msgid "Vertex 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:659
+msgid "The second vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr "X 軸"
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr "Y 軸"
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr "頂点"
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "補間"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "長さ"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
-msgid "The blue component of the color"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "値"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-msgid "Alpha"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
-msgid "The alpha of the color"
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
-msgid "Vertex 1"
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
-msgid "The first vertex of the segment"
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
-msgid "Tangent 1"
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
-msgid "The first tangent of the segment"
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
-msgid "Vertex 2"
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
-msgid "The second vertex of the segment"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3713,6 +4254,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3721,58 +4274,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3801,29 +4384,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "輝度"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3837,58 +4408,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3920,7 +4467,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3957,23 +4504,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "線分"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3999,27 +4546,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4051,15 +4598,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4083,24 +4630,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "時間"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4111,10 +4658,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4126,232 +4677,244 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "ベクター"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "設定"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "ガンマ値"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
-msgstr ""
+msgstr "Synfig 情報オプション"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
-msgstr ""
+msgstr "このヘルプメッセージを表示"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr ""
+msgstr "利用可能なインポータのリストを表示"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr ""
+msgstr "利用可能なレイヤーのリストを表示"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr ""
+msgstr "レイヤーの説明やパラメータ情報などを表示"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr ""
+msgstr "ライセンス情報を表示"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr ""
+msgstr "読み込み済みモジュールのリストを表示"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr ""
+msgstr "利用可能なターゲットのリストを表示"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
-msgstr ""
+msgstr "FFMPEG 経由でのエンコード時に利用可能な動画コーデックのリストを表示"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr ""
+msgstr "バージョン情報を表示"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
-msgstr ""
+msgstr "Synfig デバッグフラグ"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "することがありません!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
@@ -4361,320 +4924,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "ターゲットを作成中..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "ターゲットの画質を設定中..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
-msgstr ""
+msgstr "ターゲットのアルファモードを設定中..."
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "レンダリング中..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "完了しました。"
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
-msgstr ""
+msgstr "レイヤー名:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "バージョン:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\t説明: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "\tヒント: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "アンチエイリアスを %d (ピクセルあたり %d サンプル) に設定"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "フレームレートを %d フレーム/秒に設定"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
-msgstr ""
+msgstr "動画コーデックとビットレートの両方のパラメータが必要です。"
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
-msgstr ""
+msgstr "動画コーデック \"%s\" はサポートされていません。"
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "終了時間"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "フレームレート"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "開始フレーム"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "終了フレーム"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "画像のアスペクト比"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "ピクセルの幅"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "ピクセルの高さ"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "ピクセルのアスペクト比"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "左上"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "右下"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "実際の幅"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "実際の高さ"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X 解像度"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y 解像度"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "インターレース"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "アンチエイリアス"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "背景色"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "メタデータ"
diff --git a/po/lt.gmo b/po/lt.gmo
index bba9771..5d4cb7e 100644
Binary files a/po/lt.gmo and b/po/lt.gmo differ
diff --git a/po/lt.po b/po/lt.po
index 6b66f15..1a9ba38 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1,16 +1,17 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Aldas p <aldixuks at gmail.com.>, 2011,2013
+# Aldas p <aldixuks at gmail.com.>, 2011,2013,2015
+# Oskaras <violentass at gmail.com>, 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-28 18:30+0000\n"
-"Last-Translator: Aldas p <aldixuks at gmail.com.>\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Lithuanian (http://www.transifex.com/projects/p/synfig/"
 "language/lt/)\n"
 "Language: lt\n"
@@ -20,166 +21,17 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
 "%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Užpildytas stačiakampis"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Pavyzdys"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Spalva"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Sluoksnio užpildo spalva"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Taškas 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Pirmas stačiakampio kampas"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Taškas 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Antras stačiakampio kampas"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Ištempimas pagal X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Ištempimas pagal Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Nuožulnus"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Naudoti nuožulnumą kampuose"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Palikti nuožulnumą užapvalintą"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Kai įjungta, kampas yra užapvalinamas"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metakamuoliai"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradientas"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Kamuoliai"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Spinduliai"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Svoriai"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradientas į kairę"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradientas į dešinę"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Tik teigiamas"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Paprastas apskritimas"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centras"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Apskritimo centras"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Spindulys"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Tai apskritimo spindulys"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekstas"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Kitas"
 
@@ -199,6 +51,17 @@ msgstr "tuščias šrifto rinkinys"
 msgid "Text to Render"
 msgstr "Atvaizduojamas tekstas "
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Spalva"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Teksto spalva"
@@ -213,6 +76,7 @@ msgstr "Stilius"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normalus"
 
@@ -225,6 +89,7 @@ msgid "Italic"
 msgstr "Italic"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Sodrumas"
 
@@ -265,8 +130,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Aprašoma, kaip glaudžiai vertikaliai yra teksto eilutės"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +151,17 @@ msgid "Text Orientation"
 msgstr "Teksto orientacija"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Pradžia"
 
@@ -328,98 +194,103 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Išjungti šią funkciją, jei jūs ketinate animuoti tekstą"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Invertuoti"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Užrašas neįkeliamas, tekstas nebus atvaizduotas."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Tekstas per mažas, tekstas nebus atvaizduotas."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Nepavyko nustatyti teksto dydžio."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Neteisinga daugiabaitė seka. Ar nustatėte lokalę?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 "Nepavyko išanalizuoti daugiabaičio simbolio.\n"
 "\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Nuožulnus"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizuoti"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipas"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Suliejimo tipas"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Languotas suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Greitas Gauso suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Kryžminis suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gauso suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Disko suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Šviesos spalva"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Šešėlio spalva"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Apšvietimo kampas"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Nuožulnumo gylis"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Minkštumas"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Šviesis"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Vientisas"
 
@@ -431,7 +302,7 @@ msgstr "Regiono nustatymas"
 msgid "Set of regions to combine"
 msgstr "Nustatyti regionus sujungimui"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Krūva"
 
@@ -470,28 +341,101 @@ msgstr "Grindys"
 msgid "Lower boundary of the clamping"
 msgstr "Apatinė suspaudimo riba"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Kreivės deformacija"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Iškraipymai"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Plotis"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Kiek išsiplėtė rezultatas statmenai šaltinio linijai"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Pradžios taškas"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Pirmas šaltinio linijos taškas"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Pabaigos taškas"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Galutinis šaltinio linijos taškas"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Viršūnės"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Greitai"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Kai įjungta, greitai atvaizduoja, tačiau su artefaktais"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importuoti paveikslėlį"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Failo pavadinimas, atrodo, jau yra nustatytas \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Failo pavadinimas"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Importo failas"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Laiko juosta"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Laiko poslinkį taikyti importuojamam failui"
 
@@ -499,17 +443,9 @@ msgstr "Laiko poslinkį taikyti importuojamam failui"
 msgid "Inside Out"
 msgstr "Išvirkštinis"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Iškraipymai"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Nurodo, kur bus "
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -662,7 +598,7 @@ msgstr "Poslinkis išorėje"
 msgid "Scale Outside"
 msgstr "Mastelis išorėje"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Pasukti"
 
@@ -673,15 +609,14 @@ msgstr "Transformuoti"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Nurodykite, kur norite perkelti centrą"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -697,7 +632,7 @@ msgstr "Sukimosi kiekis"
 msgid "Shade"
 msgstr "Šešėlis"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Šešėlio dydis"
 
@@ -707,7 +642,7 @@ msgid "Spherize"
 msgstr "Sferizavimas"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Pozicija"
 
@@ -715,6 +650,17 @@ msgstr "Pozicija"
 msgid "Where the sphere distortion is centered"
 msgstr "Kur yra sferinio iškraipymo centras"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Spindulys"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Sferinio iškraipymo dydis"
@@ -755,6 +701,14 @@ msgstr "Įtempimas"
 msgid "Size of the stretch relative to its Center"
 msgstr "Įtempimo dydis jo centro atžvilgiu"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centras"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Kur iškraipymo centras"
@@ -775,50 +729,39 @@ msgstr "Mirksėjimo dažnumas per sekundę"
 msgid "Super Sample"
 msgstr "Glotninimas"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Nepavyko sukurti tikslo paviršiaus"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Plotis"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Mėginio srities plotis (pikseliais)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Aukštis"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Mėginio ploto aukštis (pikseliais)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Naudoti parametrinius"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Naudokite parametrinį atvaizdavimą"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Neliesti alfa"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Įjungus padeda išvengti alfa artefaktų"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Laiko ciklas"
@@ -831,40 +774,40 @@ msgstr "Sąryšio laikas"
 msgid "Start time of the loop for the cycled context"
 msgstr "Ciklo pradžios laikas uždaram kontekstui"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokalus laikas"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Laikas, kai prasideda rezultato ciklas"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Trukmė"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Ciklo ilgis"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Tik teigiamos trukmės"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "Kai įjungta, ciklas bus tik teigiamos trukmės"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Simetriškas"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Kai įjungta, ciklai atvaizduojami centre Vietos Laiku"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Perkelti"
 
@@ -872,6 +815,19 @@ msgstr "Perkelti"
 msgid "Twirl"
 msgstr "Užsukimas"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Apskritimo centras"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Tai apskritimo spindulys"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Sūkiai"
@@ -948,58 +904,6 @@ msgstr "Horizontas"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Aukštis, nustatantis horizontą perspektyvoje"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Kreivės deformacija"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Kiek išsiplėtė rezultatas statmenai šaltinio linijai"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Pradžios taškas"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Pirmas šaltinio linijos taškas"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Pabaigos taškas"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Galutinis šaltinio linijos taškas"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Viršūnės"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Greitai"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Kai įjungta, greitai atvaizduoja, tačiau su artefaktais"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "XOR Šablonas"
@@ -1012,10 +916,11 @@ msgstr "Šablono centras"
 msgid "Size of the pattern"
 msgstr "Šablono dydis"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Mastelis"
 
@@ -1027,59 +932,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Nepavyko atidaryti %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "Failas %s nėra išsaugotas BMP formatu"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Suglaudintu rastrinių failų skaitymas nepalaikomas"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Nepalaikomas bitų gylis (bit_skai =%d, turėtų būti 24 arba 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr " (Animacinis)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Nepavyko atidaryti failo"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Nepavyko užrašyti failo antraštės į failą"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Nepavyko užrašyti informacijos "
 
@@ -1091,37 +996,137 @@ msgstr "Nepavyko užrašyti informacijos "
 msgid "Unable to open pipe to encodedv"
 msgstr "Nepavyko atidaryti signalo, kad koduotidv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Užpildytas stačiakampis"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Pavyzdys"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Sluoksnio užpildo spalva"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Taškas 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Pirmas stačiakampio kampas"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Taškas 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Antras stačiakampio kampas"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Ištempimas pagal X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Ištempimas pagal Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Naudoti nuožulnumą kampuose"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Palikti nuožulnumą užapvalintą"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Kai įjungta, kampas yra užapvalinamas"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metakamuoliai"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradientas"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Kamuoliai"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Spinduliai"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Svoriai"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradientas į kairę"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradientas į dešinę"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Tik teigiamas"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Paprastas apskritimas"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1132,7 +1137,7 @@ msgstr "Sulietas"
 msgid "Blurs"
 msgstr "Sulieti"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Suliejimo dydis"
 
@@ -1246,13 +1251,13 @@ msgstr "Suliejimo dydis"
 msgid "Fade Out"
 msgstr "Išnykti"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Šaškių lenta"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1260,77 +1265,6 @@ msgstr "Šaškių lenta"
 msgid "Geometry"
 msgstr "Geometrija"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Langelių spalva"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Langelių centras"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Langelių dydis"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Apskritimas"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Apskritimo spindulys"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Ištempimas"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Apskritimo ištempimo dydis"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Invertuoti apskritimą"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Sumažėjimas"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Nustato ištempimo sumažėjimo funkcija"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linijinis"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Languotas"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Kvadratinė šaknis"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Kosinusas"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1373,37 +1307,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1430,7 +1364,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Užapvalinimas"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
@@ -1442,7 +1376,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1466,11 +1400,11 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr ""
+msgstr "Brūkšninė linija"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr ""
+msgstr "Pažymėjus, linija tampa brūkšnine"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
@@ -1488,6 +1422,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Šaškių lenta"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Langelių spalva"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Langelių centras"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Langelių dydis"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Apskritimas"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Apskritimo spindulys"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Ištempimas"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Apskritimo ištempimo dydis"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Invertuoti apskritimą"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Sumažėjimas"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Nustato ištempimo sumažėjimo funkcija"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linijinis"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Languotas"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Kvadratinė šaknis"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Kosinusas"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Kontūras"
@@ -1564,7 +1569,9 @@ msgstr "Vidinis žvaigždės spindulys "
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Kampas"
 
@@ -1572,7 +1579,7 @@ msgstr "Kampas"
 msgid "The orientation of the star"
 msgstr "Žvaigždės orientacija"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Taškai"
 
@@ -1588,12 +1595,12 @@ msgstr "Taisyklingas daugiakampis"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Ar padaryti žvaigždę arba taisyklingą daugiakampį"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Nepavyko atidaryti \"%s\" rašymo prieigos!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Aprašymas nenustatytas!"
 
@@ -1612,7 +1619,7 @@ msgstr "Gradientai"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1629,7 +1636,7 @@ msgstr "Sukimosi aplink centrą gradientas"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Kai įjungta, gradientas yra kilpinis"
@@ -1648,25 +1655,26 @@ msgid "Global width of the gradient"
 msgstr "Globalus gradiento plotis"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Kilpa"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zigzagas "
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Kai įjungta, gradientas yra simetriškas centre"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1676,11 +1684,11 @@ msgstr "Statmenas"
 msgid "Linear Gradient"
 msgstr "Linijinis gradientas"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Gradiento pradžios taškas"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Gradiento pabaigos taškas"
 
@@ -1709,54 +1717,59 @@ msgstr "Pagal laikrodžio rodyklę"
 msgid "When checked the spiral turns clockwise"
 msgstr "Kai įjungta, spiralė sukasi pagal laikrodžio rodyklę"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Nėra failo įkėlimui"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Nepavyko atidaryti"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Nepavyko gauti kadro iš"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Blogas paviršius iš"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Pirmalaikė failo pabaiga (po antraštės)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Pirmalaikė failo pabaiga"
 
@@ -1789,7 +1802,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Atsitiktinis triukšmo grūdo keitimas"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpoliacija"
@@ -1805,16 +1818,16 @@ msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubinę"
@@ -1844,7 +1857,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Kai įjungta, gaminas turbulentinis triukšmas"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Atsitiktinis"
 
@@ -1872,58 +1885,60 @@ msgstr "Super atranka"
 msgid "When checked the gradient is supersampled"
 msgstr "Kai įjungta, gradientas yra supersampled"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Jungtis"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "Maksimali atsitiktinė skirtumo vertė"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Sėkla"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Sėklos atsitiktinių skaičių generatorius"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Greitis"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Apibrėžia, kaip dažnai naujos atsitiktinės reikšmės yra pasirenkamos "
 "(pasirinkimai per sekundę)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Nustato, kaip vertė yra interpoliuojama iš vieno atsitiktinio pasirinkimo į "
 "kitą"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Be interpoliacijos"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Laiko ciklas"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Atsitiktinis reikšmės pasikartojimas po nurodyto laiko"
 
@@ -1986,8 +2001,11 @@ msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
+"If enabled, the alpha channel from the gradient is multiplied by the stem "
+"size, and an alpha of 1.0 is used when rendering"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Atvirkštinis"
 
@@ -1995,8 +2013,8 @@ msgstr "Atvirkštinis"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Jei įjungta, augalas vaizduojamas priešinga kryptimi"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Žingsnis"
 
@@ -2049,66 +2067,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
+msgstr "%s pateikta ne PPM formatu"
+
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importuotojas::atverti(): Negaliu atidaryti, failo vardas tuščias"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importuotojas::atverti(): Nepavyko rasti plėtinio"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "sveikasis skaičius"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importuotojas::atverti(): Nežinomas failo tipas -- "
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "kampas"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "realus"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "laikas"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vektorius"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "spalva"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segmentas"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "matrica"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "sąrašas"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "drobė"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "Styga"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradiento"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "transformacija"
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Sąraše nėra pavekslėlių"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "atitinka"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Vienetai"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pikseliai"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Coliai"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metrai"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milimetrai"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimetrai"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importuotojas::atverti(): Negaliu atidaryti, failo vardas tuščias"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importuotojas::atverti(): Nepavyko rasti plėtinio"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importuotojas::atverti(): Nežinomas failo tipas -- "
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Nepavyko sukurti paviršiaus adresato"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z Gylis"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Pakeičia sluoksnio poziciją sluoksnio krūvoje "
 
@@ -2128,24 +2253,25 @@ msgstr "Apatiniame dešiniajame"
 msgid "Lower right-hand Corner of image"
 msgstr "Paveikslėlio apatinis dešinysis kampas"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Sluoksnio Alfa kanalas"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Maišymo metodas"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Dublikatas"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Rodyklė"
 
@@ -2185,7 +2311,7 @@ msgstr "Mėginio tipas"
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Pastovus"
 
@@ -2195,7 +2321,7 @@ msgstr "Hiperbolinis"
 
 #: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
-msgstr ""
+msgstr "Submėginys Pradėti Suma"
 
 #: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
@@ -2209,56 +2335,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Grupė"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr "Drobė"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Transformacija"
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Mastelis"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Drobė"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Drobės dydis"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
+msgstr "Grupės turinys"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fokusavimo taškas"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Dabartinis laikas"
 
@@ -2266,11 +2383,11 @@ msgstr "Dabartinis laikas"
 msgid "Polygon"
 msgstr "Daugiakampis"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Viršūnių sąrašas"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Nustatyti daugiakampio kampus"
 
@@ -2282,479 +2399,551 @@ msgstr "Figūra"
 msgid "Internal"
 msgstr "Vidaus"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Sluoksnio_figūros spalva"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Išlyginimas"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Ištempimo tipas"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Naudojamas ištempimo tipas"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Spiralinis stilius"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Naudojamas spiralinis stilius"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Nenulinis"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Lyginis/Nelyginis"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Skeletas"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Pavadinimas"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Kaulai"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Vientisa spalva"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Užapvalinimas"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Nepavyko atidaryti failo"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Pakeitimas"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Nenumatytas elementas <%s>, numatytas<%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Per daug įspėjimų"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> trūksta\"%s\" atributo"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
-msgstr ""
+msgstr "<%s> is missing \"value\" attribute"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Bloga reikšmė \"%s\"  <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Neteisingi duomenys <fiksatoriui>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Blogas tipas <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
-msgstr ""
+msgstr "<%s> nepriimtinas tipas '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
-msgstr ""
+msgstr "'%s' jau buvo apibrėžta <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Analizė '%s' nepavyko"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
-msgstr ""
+msgstr "<%s> trūksta nuorodos %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
-msgstr ""
+msgstr "Negalima sukurti <sąrašo>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Neteisingi duomenys <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Blogas ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID dublikatas \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Sluoksnis atmetė drobės nuorodą"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
-msgstr ""
+msgstr "<param> pateikti netinkami duomenys"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
-msgstr ""
+msgstr "tuščias \"vardo\" įrašas"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Mazgo reikšmė"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Mazgo reikšmės"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Negalima atidaryti failo"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
-msgstr ""
+msgstr "Užkraunami modeliai iš %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
-msgstr ""
+msgstr "Negalima atidaryti modulių sąrašo '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "PRIIMTA"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "klaida"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "įspėjimas"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "info"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Nepavyko įkelti modulio '%s'"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Bandote užregistruoti \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Nepavyko rasti modulio \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Rastas modulis \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "Sėkmė \"%s\""
@@ -2785,15 +2974,15 @@ msgstr "Nepavyko atidaryti %s skaitymui"
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
 msgid "%s does not appear to be a valid %s palette file"
-msgstr ""
+msgstr "%s netinkamas %s paletės failas"
 
 #: src/synfig/palette.cpp:437
 #, c-format
 msgid "%s does not appear to be a supported palette file"
-msgstr ""
+msgstr "%s nepalaikomas paletės failas"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Mišinys"
 
@@ -2819,11 +3008,11 @@ msgstr "Ekranas"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr "Perdangti"
+msgstr "Perdengti"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr "Kieta šviesa"
+msgstr "Stipri šviesa"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
@@ -2833,13 +3022,13 @@ msgstr "Daugyba"
 msgid "Divide"
 msgstr "Dalyba"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Papildytas"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Atimti"
 
@@ -2855,14 +3044,14 @@ msgstr "Paryškinti"
 msgid "Darken"
 msgstr "Tamsinimas"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Atspalvis"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Sodrumas"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
@@ -2882,25 +3071,25 @@ msgstr "Alfa patamsinti"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Adresato panika"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Tikslo iniciacijos klaida"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
@@ -2913,35 +3102,31 @@ msgstr ""
 
 #: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
-msgstr ""
+msgstr "Nepalaikomas atvaizdavimo metodas"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Sugauta eilutė:"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Pritrūko atminties (tikriausiai klaida)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Blogas išklotinės dydis"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Pagreitinto atvaizdavimo gedimas"
 
@@ -2950,342 +3135,258 @@ msgstr "Pagreitinto atvaizdavimo gedimas"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
-msgstr ""
+msgstr "Negalima paleisti kadro"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Parametrinio atvaizdavimo gedimas"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Bloga figūra"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "sveikasis skaičius"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "kampas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "laikas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "realus"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vektorius"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "spalva"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "segmentas"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "kreivės_taškas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "sąrašas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "drobė"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "Styga"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "gradiento"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nulis"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr "Radialinis "
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Nuoroda"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segmento liestinė"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segmentas viršūnė"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Juostelėmis"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dviejų atspalvių"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
-msgstr ""
+msgstr "Dinaminis sąrašas"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Pasukti gradientą"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
-msgstr ""
+msgstr "Sin"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Pakartoti gradientą"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Eksponentinis"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Diapazonas"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Pakeitimas"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Atvirkštinė liestinė"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Abipusis"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Sveikasis skaičius"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vektoriaus kampas"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vektoriaus ilgis"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vektoriaus X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vektoriaus Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Gradiento spalva"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Laiko eilutė"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Realus"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Faktinė eilutė"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Jungtinis sąrašas"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Kampo eilutė"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
-msgstr ""
+msgstr "Logaritmas"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Pilka"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Galia"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Palyginti"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Ne"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Ir"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Arba"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr "Kaulo poveikis"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr "Kaulas"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr "Pagrindinis kaulas"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3294,45 +3395,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ": Blogas tipas"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
-msgstr ""
+msgstr "Skaliarinis"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3346,7 +3453,7 @@ msgstr "Jungtis1"
 
 #: src/synfig/valuenode_and.cpp:148
 msgid "First operand of the AND operation"
-msgstr ""
+msgstr "Pirmas operandas IR operacijoje"
 
 #: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
 msgid "Link2"
@@ -3354,6 +3461,40 @@ msgstr "Jungtis2"
 
 #: src/synfig/valuenode_and.cpp:153
 msgid "Second operand of the AND operation"
+msgstr "Antras operandas IR operacijoje"
+
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Tikslumas"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
 msgstr ""
 
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
@@ -3362,68 +3503,87 @@ msgstr ""
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animacinis"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
-msgstr ""
+msgstr "Viršūnė %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Poslinkis"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Fiksuotas ilgis"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3455,256 +3615,633 @@ msgstr "Pločio mastelis"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Nelygybės kairioji pusė"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Nelygybės dešinioji pusė"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Didesnis"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Lygus"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Mažesnis"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Blogas mišinio tipas"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Raudona"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "Raudonos spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Žalia"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "Žalios spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Mėlyna"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "Mėlynos spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "Spalvos alfa"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Viršūnė 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "Segmento pirmoji viršūnė "
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Liestinė 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "Pirmoji segmento liestinė"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Viršūnė 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Segmento antroji viršūnė "
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Liestinė 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "Antroji segmento liestinė"
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
-msgstr "X-ašis"
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr "X-ašis"
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr "Y-ašis"
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr "Viršūnė"
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr "Skaldyti"
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "Interpoliuoti"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Ilgis"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Reikšmė"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Amplitudė"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
-msgstr "Y-ašis"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
-msgstr "Viršūnė"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
-msgstr "Skaldyti"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Iš"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
-msgstr "Interpoliuoti"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "Į"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Galutinė indekso reikšmė"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3721,6 +4258,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3729,61 +4278,91 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
-msgstr ""
+msgstr "Prieš"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
-msgstr ""
+msgstr "Daugiklis"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
-msgstr ""
+msgstr "Po"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
-msgstr ""
+msgstr "Įvertinti"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
-msgstr ""
+msgstr "Ne"
 
 #: src/synfig/valuenode_not.cpp:142
 msgid "Value node used to do the NOT operation"
@@ -3791,7 +4370,7 @@ msgstr ""
 
 #: src/synfig/valuenode_or.cpp:129
 msgid "OR"
-msgstr ""
+msgstr "Arba"
 
 #: src/synfig/valuenode_or.cpp:148 src/synfig/valuenode_or.cpp:153
 msgid "Value node used for the OR boolean operation"
@@ -3809,33 +4388,21 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Šviesis"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
-msgstr ""
+msgstr "Vektoriaus ilgis"
 
 #: src/synfig/valuenode_radialcomposite.cpp:276
 msgid "Theta"
@@ -3845,57 +4412,33 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
-msgstr ""
+msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
-msgstr ""
+msgstr "Maks."
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
+msgstr "Reali reikšmė negali būti konvertuojama"
 
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
@@ -3928,12 +4471,12 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
-msgstr ""
+msgstr "Pažymėti pradžią"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:219
 msgid ""
@@ -3942,7 +4485,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:223
 msgid "Specify End"
-msgstr ""
+msgstr "Pažymėti pabaigą"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:224
 msgid ""
@@ -3951,7 +4494,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:228
 msgid "Start Color"
-msgstr ""
+msgstr "Pradinė spalva"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:229
 msgid "Used as the start of the resulting gradient"
@@ -3959,22 +4502,22 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:233
 msgid "End Color"
-msgstr ""
+msgstr "Galutinė spalva"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:234
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -4007,33 +4550,33 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
-msgstr ""
+msgstr "Žingsnio trukmė"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
-msgstr ""
+msgstr "Pradžios laikas"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
-msgstr ""
+msgstr "Sankirta"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr ""
+msgstr "Spalva 1"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
@@ -4041,7 +4584,7 @@ msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr ""
+msgstr "Spalva 2"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
@@ -4059,15 +4602,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4091,24 +4634,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Laikas"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
-msgstr ""
+msgstr "Linijinės interpoliacijos pabaigos laikas"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4119,247 +4662,263 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
 #: src/synfig/valuenode_twotone.cpp:154
 msgid "The start color of the gradient"
-msgstr ""
+msgstr "Gradiento pradinė spalva"
 
 #: src/synfig/valuenode_twotone.cpp:159
 msgid "The end color of the gradient"
-msgstr ""
+msgstr "Gradiento galutinė spalva"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vektorius"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
-msgstr ""
+msgstr "Vektorius, kur kampas skaičiuojamas nuo"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr "Nustatymai"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gama"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
-msgstr ""
+msgstr "Įvesti įkeliamo failo pavadinimą"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr ""
+msgstr "Įvesti išvesties failo pavadinimą"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr ""
+msgstr "Nustatyti kadrų kitimo dažnį"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
-msgstr ""
+msgstr "Nustatyti pradžios laiką"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr ""
+msgstr "Nustatyti pabaigos laiką"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
-msgstr ""
+msgstr "Spausdinti testo rezultatus"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
-msgstr ""
+msgstr "Atvaizduoti pagrindinės drobės pasirinktus parametrus"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
-msgstr ""
+msgstr "Sukurti šią pagalbos žinutę"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr ""
+msgstr "Atvaizduoti egzistuojančių sluoksnių sąrašą"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr ""
+msgstr "Atvaizduoti licensijos informaciją"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr ""
+msgstr "Išvesti naudojamų modulių sąrašą"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr ""
+msgstr "Išvesti informaciją apie versiją"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nėra ką vykdyti!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
@@ -4369,320 +4928,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "PNG nustatomas pagrindiniu formatu"
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr "Atvaizdavimo nesėkmė"
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr "Atvaizdavimas ..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr "sekundes."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr "Atlikta."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Neatpažintas canvas kintamasis:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Atpažįstami kintamieji yra:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr "Sluoksnio pavadinimas:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Vietinis sluoksnio pavadinimas:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr "Versija:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "Aprašymas:"
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "Užuomina:"
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Atvaizduojamas kadras ties"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
-msgstr ""
+msgstr "Nepateiktas joks įkeliamas failas."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Nustatyta kokybė yra"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Pabaigos Laikas"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Kadrų Dažnis"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr "Pradžios kadras"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr "Pabaigos kadras"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr "Paveikslėlio kraštinių santykis"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 6e4510c..a31ff32 100644
Binary files a/po/nl.gmo and b/po/nl.gmo differ
diff --git a/po/nl.po b/po/nl.po
index e89fe80..04602c1 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,17 +1,19 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # darkspace65 <studio.diba at gmail.com>, 2013
+# Rodolfo_Jadon, 2014
 # Ruud van Eeghem <r.van.eeghem at gmail.com>, 2011
 # darkspace65 <studio.diba at gmail.com>, 2013
+# Wouter Staelens, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Dutch (http://www.transifex.com/projects/p/synfig/language/"
 "nl/)\n"
@@ -21,166 +23,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Gevulde rechthoek"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Voorbeeld"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Kleur"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Vulkleur van de laag"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punt 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Eerste punt van de rechthoek"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punt 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Tweede punt van de rechthoek"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Pluim X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Borstel Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Verdiepen"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Gebruik verdieping voor hoeken"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Verdieping rond houden"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Indien aangevinkt wordt de verdieping rond"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Bollen"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Stralen"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Gewichten"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Linker gradient"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Rechter gradient"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Alleen positieve waarden"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Eenvoudige circel"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centrum"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centrum van de circel"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Straal"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Dit is de straal van de circel"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Overige"
 
@@ -200,6 +53,17 @@ msgstr "Lege lettertype verzameling"
 msgid "Text to Render"
 msgstr "Af te beelden tekst"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Kleur"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Kleur van de tekst"
@@ -214,6 +78,7 @@ msgstr "Stijl"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normaal"
 
@@ -226,6 +91,7 @@ msgid "Italic"
 msgstr "Cursief"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Gewicht"
 
@@ -266,8 +132,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Beschrijft de verticale afstand tussen tekst regels"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -287,16 +153,17 @@ msgid "Text Orientation"
 msgstr "Tekst orientatie"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Oorsprong"
 
@@ -329,97 +196,102 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Schakelt deze optie uit als je de tekst animeert"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Inverteren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Geen vlak voor tekst geladen, afbeelding kan niet gemaakt worden"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Tekst is te smal, afbeelding kan niet gemaakt worden"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Kan afmetingen van het vlak niet zetten"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 "Ongeldige reeks multibyte karakters - is de instelling van de regio goed?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Kan multibyte karakter niet verwerken\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Verdiepen"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stijl toepassen"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Type vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Gebied vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Snelle Gaussische vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Kruis vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gaussische vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Radiaal vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Bovenliggende kleur"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Onderliggende kleur"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Invalshoek"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Diepte verdieping"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Zachtheid"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Gebruik Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Vast"
 
@@ -431,7 +303,7 @@ msgstr "Verzameling gebieden"
 msgid "Set of regions to combine"
 msgstr "Verzameling te combineren gebieden"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Begrenzen"
 
@@ -470,28 +342,101 @@ msgstr "Ondergrens"
 msgid "Lower boundary of the clamping"
 msgstr "Ondergrens begrenzing"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Gebogen Warp"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Vervorming"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Positie van de spline-doellijn"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Breedte"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "De loodrechte verbreding ten opzichte van de bron lijn"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Start punt"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Begin punt van de bron lijn"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Eind punt"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Eind punt van de bron lijn"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Hoeken"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Lijst van spline punten waar de bronlijn naar kromt"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Snel"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Indien aangevinkt, genereert versnelde afbeeldingen met artefacten"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Afbeelding importeren"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Bestandsnaam is al vastgesteld op \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Bestandsnaam"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Te importeren bestand"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Tijd offset"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Tijd offset toe te passing op geimporteerd bestand"
 
@@ -499,17 +444,9 @@ msgstr "Tijd offset toe te passing op geimporteerd bestand"
 msgid "Inside Out"
 msgstr "Binnen naar buiten"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Vervorming"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Definieert de positie van het centrum"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -662,7 +599,7 @@ msgstr "Offset buitenkant"
 msgid "Scale Outside"
 msgstr "Schaling buitenkant"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Rotatie"
 
@@ -673,15 +610,14 @@ msgstr "Transformatie"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Het punt waar de oorsprong moet liggen"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -697,7 +633,7 @@ msgstr "Rotatie grootte"
 msgid "Shade"
 msgstr "Schaduw"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Schaduw grootte"
 
@@ -707,7 +643,7 @@ msgid "Spherize"
 msgstr "Bolvormig"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Positie"
 
@@ -715,6 +651,17 @@ msgstr "Positie"
 msgid "Where the sphere distortion is centered"
 msgstr "Centrum van de bolvormige verstoring "
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Straal"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Grootte van de bolvormige verstoring"
@@ -755,6 +702,14 @@ msgstr "Rekken"
 msgid "Size of the stretch relative to its Center"
 msgstr "Grootte van de rek relatief ten opzicht van de oorsprong"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centrum"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Positie van de oorsprong van de rek verstoring"
@@ -775,50 +730,39 @@ msgstr "Knipper frequentie in aantallen per seconde"
 msgid "Super Sample"
 msgstr "Super voorbeeld"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Kan 'SurfaceTarget' niet maken"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Breedte"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Breedte van het voorbeeld (in pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Hoogte"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Hoogte van het voorbeeld (in pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Gebruik parameters"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Gebruik de geparameteriseerde generator"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Beveilig alpha waarden"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Indien aangevinkt, voorkomt alpha artifacten"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Tijd lus"
@@ -831,40 +775,40 @@ msgstr "Link tijd"
 msgid "Start time of the loop for the cycled context"
 msgstr "Starttijd van de herhaling van cyclische inhoud"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokale tijd"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "De starttijd voor de herhaling"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duur"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Lengte van de herhaling"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Alleen indien duur positief is"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "Indien aangevinkt, herhaalt alleen de positieve tijdlengtes"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symmetrisch"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Indien aangevinkt, spiegelt en centreert herhalingen op lokale tijd"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Vertalen"
 
@@ -872,6 +816,19 @@ msgstr "Vertalen"
 msgid "Twirl"
 msgstr "Kolk"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centrum van de circel"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Dit is de straal van de circel"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotaties"
@@ -948,58 +905,6 @@ msgstr "Horizon"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Hoogte van de horizon voor perspectief"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Gebogen Warp"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr "Positie van de spline-doellijn"
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "De loodrechte verbreding ten opzichte van de bron lijn"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Start punt"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Begin punt van de bron lijn"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Eind punt"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Eind punt van de bron lijn"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Hoeken"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr "Lijst van spline punten waar de bronlijn naar kromt"
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Snel"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Indien aangevinkt, genereert versnelde afbeeldingen met artefacten"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "XOR patroon"
@@ -1012,10 +917,11 @@ msgstr "Centrum van het patroon"
 msgid "Size of the pattern"
 msgstr "Afmetingen van het patroon"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Schaal"
 
@@ -1027,59 +933,59 @@ msgstr "Hoeveelheid om te schalen"
 msgid "Point to scale from"
 msgstr "Punt waaruit geschaald wordt"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Kan %s niet openen"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s is niet in BMP formaat"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Het lezen van gecomprimeerde bitmaps wordt niet ondersteund"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Niet ondersteunde bit diepte (bit_count=%d, moet zijn 24 of 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(animatie)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Kan bestand niet openen"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Kan bestandsheader niet schrijven naar bestand"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Kan infoheader niet schrijven naar bestand"
 
@@ -1091,37 +997,137 @@ msgstr "Kan infoheader niet schrijven naar bestand"
 msgid "Unable to open pipe to encodedv"
 msgstr "Kan data bus naar apparaat encodedv niet openen"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Gevulde rechthoek"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Voorbeeld"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Vulkleur van de laag"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punt 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Eerste punt van de rechthoek"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punt 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Tweede punt van de rechthoek"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Pluim X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Borstel Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Gebruik verdieping voor hoeken"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Verdieping rond houden"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Indien aangevinkt wordt de verdieping rond"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Bollen"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Stralen"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Gewichten"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Linker gradient"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Rechter gradient"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Alleen positieve waarden"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Eenvoudige circel"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1132,7 +1138,7 @@ msgstr "Vervagen"
 msgid "Blurs"
 msgstr "Vervaagt"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Grootte van vervaging"
 
@@ -1246,13 +1252,13 @@ msgstr "Grootte van vervaging"
 msgid "Fade Out"
 msgstr "Fade out"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Dambord"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Uitgebreide Omlijning"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1260,77 +1266,6 @@ msgstr "Dambord"
 msgid "Geometry"
 msgstr "Geometrie"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Kleur van de damstenen"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Centrum van de damstenen"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Grootte van de damstenen"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Circel"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Straal van de circel"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Pluim"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Groote van de pluim buiten de circel"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Circel inverteren"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Uitval"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Bepaalt de afval functie voor de pluim"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Lineair"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Kwadratisch"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Inverse kwadratisch"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Cosinus"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "Uitgebreide Omlijning"
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "Geen hoekpunten in spline"
@@ -1373,37 +1308,37 @@ msgstr "Bepaalt puntsoort van de eerste spline-punt als de spline ontknoopt is"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "Afgerond uiteinde"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "Vierkant uiteinde"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "Puntvormig uiteinde"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "Vlak uiteinde"
 
@@ -1443,7 +1378,7 @@ msgstr "Bepaalt de interpolatie tussen punten. (0) Lineair (1) Effen"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1492,6 +1427,77 @@ msgstr "Offset Streep Lijst"
 msgid "Distance to Offset the Dash Items"
 msgstr "Eerste te gebruiken streep waarde in de lijst"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Dambord"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Kleur van de damstenen"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Centrum van de damstenen"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Grootte van de damstenen"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Circel"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Straal van de circel"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Pluim"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Groote van de pluim buiten de circel"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Circel inverteren"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Uitval"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Bepaalt de afval functie voor de pluim"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineair"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Kwadratisch"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Inverse kwadratisch"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosinus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Omlijning"
@@ -1570,7 +1576,9 @@ msgstr "De straal van de binnenste punten in de ster"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Hoek"
 
@@ -1578,7 +1586,7 @@ msgstr "Hoek"
 msgid "The orientation of the star"
 msgstr "De orientatie van de ster"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Punten"
 
@@ -1594,12 +1602,12 @@ msgstr "Normale polygoon"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Bepaalt of een ster of polygoon wordt getekent"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Kan \"%s\" niet openen voor te schrijven!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Beschrijving niet ingevuld!"
 
@@ -1618,7 +1626,7 @@ msgstr "Gradienten"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1635,7 +1643,7 @@ msgstr "Draait de gradient rond de as van de kegel"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Indien aangevinkt, herhaalt de gradient"
@@ -1654,25 +1662,26 @@ msgid "Global width of the gradient"
 msgstr "Globale breedte van de gradient"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Herhalen"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zaagvormig"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Indien aangevinkt, maakt de gradient symmetrisch in het centrum"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1682,11 +1691,11 @@ msgstr "Loodrecht"
 msgid "Linear Gradient"
 msgstr "Lineaire gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Begin punt van de gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Eind punt van de gradient"
 
@@ -1715,54 +1724,59 @@ msgstr "Met de klok mee"
 msgid "When checked the spiral turns clockwise"
 msgstr "Indien aangevinkt, draat de spiraal met de klok mee"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Geen bestand om te laden"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Fout bij openen van"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Kan frame niet lezen van"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Kan grafische beeld niet lezen van"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Kan data kanaal naar 'imagemagick' niet openen"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Geen geldig PPM blok gevonden in data stroom"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "data stroom niet in PPM formaat"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Voortijdig einde van het bestand (na bestands inleiding)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Voortijdig einde van het bestand"
 
@@ -1795,7 +1809,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Wijzigt de willekeurige seed waarde van de ruis"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolatie"
@@ -1811,16 +1825,16 @@ msgid "Nearest Neighbor"
 msgstr "Dichtstbijzijnde buur "
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Kromme"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubisch"
@@ -1850,7 +1864,7 @@ msgid "When checked produces turbulent noise"
 msgstr "Indien aangevinkt, produceert turbulente ruis"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Willekeurig"
 
@@ -1878,57 +1892,59 @@ msgstr "Super monster"
 msgid "When checked the gradient is supersampled"
 msgstr "Indien aangevinkt, neemt een super monster van de gradient"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Koppeling"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "Het waarde knooppunt dat zorgt voor de centrale waarde"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "De maximale grootte tussen twee willekeurige waarden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "De seed waarde voor de toevalsgenerator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Snelheid"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Geeft aan hoe vaak een nieuwe willekeurige waarde gekozen wordt (in keuzes "
 "per seconde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Geeft aan hoe tussen twee willekeurige waarden geinterpoleerd moet worden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Geen interpolatie"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Herhaal tijd"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 "Zorgt ervoor dat een willekeurige waarde na de opgegeven tijd herhaald wordt"
@@ -2000,6 +2016,7 @@ msgstr ""
 "stam grootte en wordt de afbeelding met een alfa waarde 1.0 gemaakt"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Omkeren"
 
@@ -2007,8 +2024,8 @@ msgstr "Omkeren"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Indien aangevinkt, laat de plant in de tegengestelde richting groeien"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Stap"
 
@@ -2063,66 +2080,173 @@ msgstr "Gebruik breedte"
 msgid "Scale the velocity by the spline's width"
 msgstr "Schaal de snelheid met de breedte van de spline"
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s is niet in het formaat PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Kan lege bestandsnaam niet openen"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "Importeer Svg"
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): Kan extensie niet bepalen"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "boolean"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Onbekend bestandstype --"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "geheel getal"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "hoek"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "tijd"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vector"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "color"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "spline_punt"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "width_point"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "dash_item"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "list"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "canvas"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "string"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradient"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Geen afbeeldingen in de lijst"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "vergelijkbaar met"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Eenheden"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Inches"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Meters"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimeters"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimeters"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Kan lege bestandsnaam niet openen"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): Kan extensie niet bepalen"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Onbekend bestandstype --"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Kan doel laag niet maken"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z-diepte"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Wijzigt de positie van de laag in de stapel"
 
@@ -2142,24 +2266,25 @@ msgstr "Beneden-Rechts"
 msgid "Lower right-hand Corner of image"
 msgstr "Onder rechterhoek van de afbeelding"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Alfa kanaal van de laag"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Meng methode"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr "De meng methode die gebruikt wordt op onderliggende lagen"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Kopieren"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Index"
 
@@ -2199,7 +2324,7 @@ msgstr "Submonster type"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Soort kromme voor het wegen van submonsters"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Constant"
 
@@ -2223,56 +2348,47 @@ msgstr "Submonster stop grootte"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relatieve grootte van het laatste submonster, voor lineaire weging"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr "Groep"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Tekenvenster"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr "Groepeer inhoud"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Grootte van het tekenvenster"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Tijd offset, toe te passen op deze context"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Kinderslot"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Indien aangevinkt, voorkomt dat kinderen de muis kunnen gebruiken"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Focaal punt"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Het vaste punt tijdens het vergroten"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr "Groei van buitenlijn"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Exponentiële waarde breedte van onderliggende buitenlijnen"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Huidige tijd"
 
@@ -2280,11 +2396,11 @@ msgstr "Huidige tijd"
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Lijst Vertices"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Definieert de hoeken van de polygon"
 
@@ -2296,101 +2412,153 @@ msgstr "Vorm"
 msgid "Internal"
 msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Kleur van de rand van de laag"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Anti-aliasing"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Methode van vervaging"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "De methode van vervaging die gebruikt wordt"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Draai Stijl"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "De draai methode die gebruikt moet worden"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Niet nul"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Oneven/Even"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Naam"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Effen Kleur"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Afgerond"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Kan bestand niet openen"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Wissel"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "Kan '%s' niet recursief laden"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Onverwacht element <%s> gevonden, verwacht was <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Onverwacht element <%s> gevonden"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Te veel waarschuwingen"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> mist het attribuut \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> mag geen waarde hebben"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> mist het attribuut \"value\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Ongeldige waarde \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> mist het attribuut \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Kan element <animated> niet maken met type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> mist het attribuut \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2398,153 +2566,153 @@ msgstr ""
 "Niet leeg attribuut \"use\" gevonden voor <waypoint>. Inhoud wordt "
 "genegeerd..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Wegpunt refereert naar onbekende ID (%s) "
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> mist bijbehorende waardes"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Ongeldige waarde voor <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Onverwacht element <%s> na <waypoint> waardes, negeren..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Attribuut \"type\" ontbreekt in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Ongeldig type in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Fout bij het maken van een ValueNode <%s> met type '%s'. Zie '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> accepteert niet type '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' is al gedefinieerd in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribuut in <%s> verwijst naar onbekende ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Kan verwijzing \"%s\" in ValueNode \"%s\" niet maken (link #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Onbekende fout bij het benaderen van ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "element <%s> bevat geen waarde"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Het verwerken van '%s' is niet gelukt"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Kan waarde element ('%s' van het type '%s') niet koppelen met verwijzing %d "
 "(%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Onbekende fout bij het bewerken van element \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> mist verwijzing %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr "Niet mogelijk om te maken <list>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> mist de inhoud of het \"use\" element"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Kan object <dynamic_list> niet maken"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Ongeldige waarde in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "ValueNode object verwacht. Zie '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Ongeldige ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID \"%s\" bestaat al"
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Onbekende fout bij het toevoegen van ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Attribuut \"type\" niet gevonden in \"layer\" element"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "De versie informatie van de laag in het bestand is hoger dan geinstalleerde "
 "toepassing aankan"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> element in <layer> wordt nog niet ondersteund. Negeren..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> element in <layer> wordt nog niet ondersteund. Negeren..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Het attribuut \"name\" ontbreekt voor <param>"
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2552,232 +2720,252 @@ msgstr ""
 "Het attribuut \"use\" werd gevonden voor <param>, maar het was niet leeg. "
 "Inhoud wordt genegeerd..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Lege waarde voor \"use\" in <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Fout bij laden van deelafbeelding '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Laag weigert koppeling met tekenvenster"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Parameter \"%s\" refereert naar onbekende ID (%s) "
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> is leeg of het \"use\" attribuut ontbreekt"
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Ongeldige waardes voor <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Laag '%s' weigert de waarde in te stellen voor parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Onverwacht element <%s> gevonden na <param>, negeren..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Tekenvenster met breedte of hoogte minder dan een is niet toegestaan"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr "Groepscanvassen kunnen geen <defs> onderdeel bevatten"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr "Inline canvassen kunnen geen <bones> onderdeel bevatten"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr "Groeps-canvassen kunnen geen sleutelframes"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr "Groeps-canvassen kunnen geen metadata bevatten"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> moet een naam toegewezen krijgen"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> mag niet leeg zijn"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "\"name\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "\"desc\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "\"author\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Tekenvenster '%s' heeft de definitie van %s opgeheven: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "ValueNodes"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Kan bestand niet openen"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Foutive API versie (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Vector incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Color incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Canvas incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Incorrecte grootte van Layer object (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Subsysteem \"Modules\" wordt gestart"
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Kan subsysteem \"Modules\" niet initialiseren"
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Subsysteem \"Layers\" wordt gestart"
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Kan subsysteem \"Layers\" niet initialiseren"
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Subsysteem \"Targets\" wordt gestart"
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Kan subsysteem \"Targets\" niet starten"
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Subsysteem \"Importers\" wordt gestart"
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Kan subsysteem \"Importers\" niet initializeren"
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr "Subsysteem \"Cairo Importers\" wordt gestart"
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr "Niet in staat om \"Cairo Importers\" te intialiseren"
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Subsysteem \"ValueNodes\" wordt gestart"
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Kan subsysteem \"ValueNodes\" niet initialiseren"
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Modules worden geladen van %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Kan module bestand '%s' niet openen"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "KLAAR"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "fout"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "waarschuwing"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "informatie"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Fout bij uitvoeren lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Kan module '%s' niet laden"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Bezig met \"%s\" te registreren"
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Kan module \"%s\" niet vinden (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Module \"%s\" gevonden"
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Kan startpunt in module \"%s\" niet vinden (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Startpunt levert geen module terug."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "\"%s\" succesvol"
@@ -2815,8 +3003,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Samenstelling"
 
@@ -2856,13 +3044,13 @@ msgstr "Vermenigvuldigen"
 msgid "Divide"
 msgstr "Delen"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Optellen"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Aftrekken"
 
@@ -2878,12 +3066,12 @@ msgstr "Oplichten"
 msgid "Darken"
 msgstr "Verduisteren"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Tint"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Verzadiging"
 
@@ -2905,23 +3093,23 @@ msgstr "Alfa verduisteren"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Doel paniek"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Onbekende waarde (%s), kan XML representatie niet genereren"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "Onbekend type ValueNode (%s), kan XML representatie niet genereren"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Fout bij initialisatie doel"
 
@@ -2936,35 +3124,31 @@ msgstr "Kan grafisch vlak niet op doel plaatsen"
 
 #: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
-msgstr ""
+msgstr "Niet-ondersteunde rendermethode"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Exceptie tekenreeks gevangen:"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Onvoldoende geheugen beschikbaar (waarschijnlijk een bug)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Onbekende exceptie fout gevangen, opnieuw gooien..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Ongeldige tegel grootte"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Versnelde weergave mislukt"
 
@@ -2973,8 +3157,8 @@ msgstr "Versnelde weergave mislukt"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Kan grafisch vlak niet op doel plaatsen"
 
@@ -2982,20 +3166,20 @@ msgstr "add_tile(): Kan grafisch vlak niet op doel plaatsen"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Parametrische weergave mislukt"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Ongeldig grafisch vlak"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr "Time(): Tijdcode zonder eenheid, FRAMES (\"%s\") wordt gebruikt"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
@@ -3003,314 +3187,230 @@ msgstr ""
 "Time(): Tijdcode zonder eenheid en frame snelheid onbekend! SECONDEN wordt "
 "gebruikt"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "boolean"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "geheel getal"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
+msgstr "Radiele samenstelling"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "hoek"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "tijd"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "real"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vector"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "color"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "segment"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "bline_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr "width_point"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr "dash_item"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "list"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "canvas"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "string"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "gradient"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "nil"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr "spline_punt"
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr "Radiele samenstelling"
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referentie"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangentieel segement"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment punt"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Strepen"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dubbel Schaduw"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Dynamische Lijst"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotatie gradient"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Tijdgebonden wissel"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Herhalingsgradient"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponentieel"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Bereik"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Wissel"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cosinus"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Inverse tangens"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciproke"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Geheel getal"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vector hoek"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vector lengte"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vector X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vector Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Kleurgradient"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Scalair product"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Tijd naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Reeele waarde"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Waarde naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Samengevoegde lijst"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Hoek naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Geheel getal naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logaritme"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Grijs maken"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Machtsverheffen"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Vergelijken"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Niet"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "En"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Of"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "Bot"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
-msgstr ""
+msgstr "Basisbot"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "Botverbinding"
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr "Lijst afwijkende breedtes"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "Gemiddeld"
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "Dynamisch"
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "Afgeleid"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Ongeldige waarde: ValueNode '%s' accepteer niet type '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Vervanger"
 
@@ -3319,45 +3419,51 @@ msgstr "Vervanger"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d ongeldig type voor %s: %s nodig maar %s gekregen"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":Ongeldig type"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "Een of meer van mijn parameters zijn niet ingevuld!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "Linkerzijde"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Linkerzijde van de optelling"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "Rechterzijde"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Rechterzijde van de optelling"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Scalair"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "De waarde waarmee de optelling wordt vermenigvuldigt"
 
@@ -3381,75 +3487,130 @@ msgstr "Koppeling 2"
 msgid "Second operand of the AND operation"
 msgstr "De tweede waarde voor de AND operatie"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Waarde die omgezet moet worden naar een tekenreeks"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Grootte van de tekenreeks"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precisie"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Het aantal decimale cijfers"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Voorloop nullen"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"Indien aangevinkt, vult het begin van de tekenreeks aan met nullen tot de "
+"gewenste grootte"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Er is al een tussen punt gedefinieerd op dit tijdstip"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 "%s: Het is niet mogelijk om %s te gebruiken in een geanimeerde ValueNode"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animatie"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "x"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr "Y"
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "Sinus van de hoek"
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Geen waardes in lijst"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Geen waardes in de terug gegeven lijst"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "Indien aangevinkt, hergebruikt het aantal bij herhalingen"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Offset"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Hoek offset van de raaklijn"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Schaling van de raaklijn"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Vaste lengte"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "Indien aangevinkt, houd de lengte van de raaklijn vast"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3481,262 +3642,639 @@ msgstr "Schaling van de breedte"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "De linkerzijde van de vergelijking"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "De rechterzijde van de vergelijking"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Groter"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+"Indien aangevinkt, levert waar op als de linkerzijde groter is dan de "
+"rechterzijde"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Gelijk aan"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+"Indien aangevinkt, levert waar op als de linkerzijde gelijk is aan de "
+"rechterzijde"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Minder dan"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+"Indien aangevinkt, levert waar op als de linkerzijde kleiner is dan de "
+"rechterzijde"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Ongeldig type voor samenstelling"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Rood"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "De rode component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Groen"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "De groene component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Blauw"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "De blauwe component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "De alfa component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "De eerste vertex van het segment"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Raaklijn 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "De eerste raaklijn van het segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "De tweede vertex van het segment"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Raaklijn 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "De tweede raaklijn van het segment"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "X-as"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "De component op de x-as van de vector"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Y-as"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "De component op de y-as van de vector"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Bepaalt de 'Aan' en 'Uit' positie relatief ten opzicht van de buren"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr "Splitsing"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr "Indien aangevinkt, maakt raaklijnen onafhankelijk"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr "De waarde van de afwijkende breedte"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
-msgstr "Het soort zijkant voor"
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr "Het soort zijkant voor"
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr "Bepaalt het soort interpolatie tussen punten met afwijkende breedtes"
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "Interpolatie"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr "Het soort zijkant na"
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr "Ondergrens"
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr "Bovengrens"
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Lengte"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr "De lengte van de strepen"
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr "Bepaalt het type van de zijkant van de streep"
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "Scheeftrekhoek"
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Waarde"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "Waarde om de cosinus te berekenen"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Amplitude"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr "Vermenigvuldigingswaarde voor de totale cosinus"
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Van"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "Beginwaarde van de index"
+
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "Naar"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
-msgstr "Bepaalt het soort interpolatie tussen punten met afwijkende breedtes"
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Eindwaarde van de index"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
-msgstr "Interpolatie"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
+msgstr "Toename per stap in de index"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
-msgstr "Het soort zijkant na"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Lengte"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
-msgstr "De lengte van de strepen"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
-msgstr "Bepaalt het type van de zijkant van de streep"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "De linkerzijde van de vergelijking"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "De rechterzijde van de vergelijking"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Groter"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
-"Indien aangevinkt, levert waar op als de linkerzijde groter is dan de "
-"rechterzijde"
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Gelijk aan"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
-"Indien aangevinkt, levert waar op als de linkerzijde gelijk is aan de "
-"rechterzijde"
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Minder dan"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
-"Indien aangevinkt, levert waar op als de linkerzijde kleiner is dan de "
-"rechterzijde"
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
-msgstr "Waarde om de cosinus te berekenen"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
-msgstr "Vermenigvuldigingswaarde voor de totale cosinus"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "Van"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
-msgstr "Beginwaarde van de index"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "Naar"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
-msgstr "Eindwaarde van de index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
-msgstr "Toename per stap in de index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Lijst type of waarde type incorrect, foutieve waarde wordt weggegooid"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Waarde %03d"
@@ -3753,6 +4291,18 @@ msgstr "De waarde van de macht voor grondgetal 'e'"
 msgid "Multiplier of the resulting exponent"
 msgstr "Vermenigvuldigingsfactor van de totale exponent"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "De te draaien brongradient "
@@ -3761,58 +4311,88 @@ msgstr "De te draaien brongradient "
 msgid "The amount to offset the gradient"
 msgstr "De waarde waarmee de gradient verschoven moet worden"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "De geheel getal waarde die geconverteerd moet worden"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Tekenreeksen"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "De lijst met tekenreeksen die gekoppeld moet worden"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Voor"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "De tekenreeks die voor de gekoppelde tekenreeksen wordt geplaatst"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Scheidingsteken"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "De tekenreeks die tussen elke gekoppelde tekenreeks wordt geplaatst"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Na"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "De tekenreeks die na de gekoppelde tekenreeksen wordt geplaatst"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Snelheid"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr "De waarde waarmee de huidige tijd (in seconden) wordt vermenigvuldigt"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "Helling"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr "De waarde die wordt terug geleverd als de huidige tijd nul is"
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Oneindig"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Waarde die wordt terug gegeven als het resultaat naar oneindig gaat"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "NIET"
@@ -3841,29 +4421,17 @@ msgstr "Het grondgetal bij machtsverheffen"
 msgid "The power used to raise the base"
 msgstr "De exponent bij machtsverheffen"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 "Waarde die wordt gebruikt om het grondgetal of de macht met nul te "
 "vergelijken"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Oneindig"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Waarde die wordt terug gegeven als het resultaat naar oneindig gaat"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "Ongeldig type voor radiaal compositie"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Helderheid"
 
@@ -3879,60 +4447,34 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "De hoek van de vector met de x-as"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Sommige van mijn parameters zijn niet ingevuld!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Minimum"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Waarde die terug gegeven wordt als 'Link' kleiner is"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Maximum"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Waarde die terug gegeven wordt als 'Link' groter is"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "De waarde knoop waarmee het bereik wordt begrenst"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Waarde die omgezet moet worden naar een tekenreeks"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Grootte van de tekenreeks"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Precisie"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Het aantal decimale cijfers"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Voorloop nullen"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"Indien aangevinkt, vult het begin van de tekenreeks aan met nullen tot de "
-"gewenste grootte"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3967,10 +4509,8 @@ msgstr "Het aantal keren dat de gradient herhaald moet worden"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
-"Geeft aan hoeveel die bron gradiënt de voorkeursrichting volgt in de "
-"herhaling [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -4010,17 +4550,17 @@ msgstr "Eind Kleur"
 msgid "Used as the end of the resulting gradient"
 msgstr "Wordt gebruikt als einde van de totale gradient"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 "Bezig met het bepalen van de inverse van een niet-omkeerbare waarde knoop"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "De waarde knoop die gebruikt wordt voor te schalen"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Waarde waarmee de waarde knoop wordt vermenigvuldigt"
 
@@ -4053,27 +4593,27 @@ msgstr "De hoek voor de bepaling van de sinus"
 msgid "The value that multiplies the resulting sine"
 msgstr "De waarde waarmee de sinus waarde wordt vermenigvuldigt"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "De waarde knoop die gebruikt wordt voor de stap"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "De lengte van de stap"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Start tijd"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "De starttijd voor de getrapte conversie"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Snijpunt"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4105,15 +4645,15 @@ msgstr "Aantal strepen in de gradient"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Breedte van de strepen in de gradient tussen [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Linkerzijde van de aftrekking"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Rechterzijde van de aftrekking"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Vermenigvuldigingsfactor voor de aftrekking"
 
@@ -4138,28 +4678,28 @@ msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 "Indien aangevinkt, levert de 'Koppeling Aan', anders de 'Koppeling Uit'"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 "De waarde knoop die wordt teruggegeven als de huidige tijd ligt voor de "
 "waarde 'tijd' - 'lengte'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 "De waarde knoop teruggegeven als de huidige tijd voorbij de waarde 'tijd' "
 "ligt"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Tijd"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "De tijd waarop de lineaire interpolatie moet stoppen"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4172,10 +4712,14 @@ msgid "The value node to time loop"
 msgstr "De waarde knoop om herhalingen te timen"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Start tijd van de herhaling"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "De tijdwaarde die omgezet moet worden naar een tekenreeks"
 
@@ -4187,562 +4731,545 @@ msgstr "De start kelur van de gradient"
 msgid "The end color of the gradient"
 msgstr "De eind kleur van de gradient"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Vector"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr "De vector gebruikt bij het bepalen van de hoek"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr "De vector gebruikt bij het bepalen van de lengte"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr "De vector waar de x coördinaat van wordt gebruikt"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr "De vector waar de y coordinaat van wordt gebruikt"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr "Afwijkend Breedte Punt %03d"
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAAL: Synfig versie incorrect"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Instellingen"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 "Stel de breedte van de afbeelding in in pixels (gebruik 0 voor de standaard "
 "waarde)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 "Stel de hoogte van de afbeelding in in pixels (gebruik 0 voor de standaard "
 "waarde)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Stel de diagonale afmeting van het afbeeldingsvenster in (spanbreedte)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Stel de waarde voor anti-alias in voor de geparameteriseerde generator"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 "Stel de kwaliteit van de afbeelding in voor versneld genereren van "
 "afbeeldingen (standaard=%d)"
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr "Specifieer het invoer bestand"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Specificeer het uitvoer bestand"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 "Genereer het tekenvenster met de opgegeven id in plaats vanaf het begin"
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Stel het aantal beelden per seconde in"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Genereer een enkel beeld op <seconden>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Stel de starttijd in"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Stel de eindtijd in"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr "Stel de fysieke resolutie in (dots-per-inch)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr "Stel de fysieke x resolutie in (dots-per-inch)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr "Stel de fysieke y resolutie in (Dots-per-inch)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr "Wissel opties"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Stille modus (geen weergave voortgang en resterende tijd)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Voeg de lagen in <bestand> aan de compositie toe"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "Druk de details af van het eerste tekenvenster"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr "Druk een lijst af van te exporteren tekenvensters in de compositie "
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr "FFMPEG doel opties"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr "Stel de codec voor video in. zie --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr "Stel de bitrate in voor de video uitvoer"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr "Synfig info opties"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Druk een lijst af van de beschikbare import filters"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Druk bouw informatie af van de toepassing"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Druk een lijst af van de beschikbare lagen"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Druk de beschrijving af van lagen, parameters etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Druk licentie informatie af"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "Druk een lijst af van de geladen modules"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Druk een lijst af van de beschikbare doelen"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "Druk een lijst af van de beschikbare ValueNodes"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Druk versie informatie af"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "Test GUID generatie"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "Test signaal implementatie"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Niets te doen!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Bezig met vaststellen doel/uitvoerbestand..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "Doel naam niet bekend, bezig met bepalen"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Standaard doel waarde PNG gebruiken..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Opdracht wordt afgebroken..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Doel wordt aangemaakt..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Tekenvenster wordt ingesteld op doel..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Kwaliteit wordt ingesteld voor doel..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Bezig met renderen..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr "seconden"
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Klaar."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Onbekende tekenvenster variabele:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Bekende variabelen zijn:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "informatie weergave ingesteld op"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr "Laagnaam:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr "Gelokaliseerde laagnaam:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr "Versie:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\tBeschrijving:"
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Anti-alias ingesteld op %d (%d monsters per pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Breedte ingesteld op %d eenheden"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Verversingssnelheid ingesteld op %d beelden per seconde"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Fysieke resolutie ingesteld op %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Fysieke x resolutie ingesteld op %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Fysieke y resolutie ingesteld op %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Genereren beeld op"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
-msgstr ""
+msgstr "Geen invoerbestand opgegeven."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Kwaliteit ingesteld op"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Kan niet samenvoegen met '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Samengevoegde inhoud"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Eindtijd"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Verversingssnelheid"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Beginraam"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Eindraam"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Beeldverhouding"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Pixelbreedte"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Pixelhoogte"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Pixelverhouding"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Linksboven"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Rechtsonder"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Fysieke breedte"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Fysieke hoogte"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X-resolutie"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y-resolutie"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Diagonale beeld afmetingen"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Interlaced"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr "Antialias"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr "Vlaggen"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr "Focus"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr "Achtergrondkleur"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr "Meta"
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr "Lijn"
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr "van"
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr "w"
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr "d"
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr "h"
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr "m"
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s"
diff --git a/po/no_NO.gmo b/po/no_NO.gmo
index dfd0c52..e174f60 100644
Binary files a/po/no_NO.gmo and b/po/no_NO.gmo differ
diff --git a/po/no_NO.po b/po/no_NO.po
index b6472c4..96c5c1a 100644
--- a/po/no_NO.po
+++ b/po/no_NO.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Norwegian (Norway) (http://www.transifex.com/projects/p/"
 "synfig/language/no_NO/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Fylt Rektangel"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Eksempel"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Farge"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Lagets farge belegg"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punkt 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Første hjørne av rektangele"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punkt 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Andre hjørne av rektanglet"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Fjær x"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Fjær y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Bøy"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Bruk Bøyen for hjørnene"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Hold  Bøyen sirkulær"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Når sjekket er bøyen sirkulær"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metakuler"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Kuler"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radier"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Vekter"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Venstre Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Høyre Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Bare Posetiv"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Simpel Sirkel"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Midt punkt"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Midten av Sirkelen"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Radius"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Dette er radiusen av denne sirkelen"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Annet"
 
@@ -199,6 +50,17 @@ msgstr "tomt font set"
 msgid "Text to Render"
 msgstr "tekst til og Rendre"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Farge"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Tekst Fargen"
@@ -213,6 +75,7 @@ msgstr "Stil"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr "kursiv"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "vekt"
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Beskriver hvor nær tekstlinjer er vertikalt"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr "Tekstretning"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origo"
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Slå dette av hvis du skal animere teksten"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Inverter"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Ingen flate opplastet, ingen tekst vill rendres."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Tekst for liten, ingen tekst vill rendres."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Kan ikke sette flate størrelse."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Ugyldig multibyte sekvens - er lokalen satt?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Kan ikke tolke multibyte karakter.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Bøy"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stillsett "
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Type utvisker å bruke"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Boks Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Rask Gaussian Utvisking "
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Firkanttasten Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gaussian Utvisking "
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Disk Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -429,7 +299,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,28 +338,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,16 +440,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -660,7 +595,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -671,15 +606,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -695,7 +629,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -713,6 +647,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radius"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -753,6 +698,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Midt punkt"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -773,50 +726,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -829,40 +771,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -870,6 +812,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Midten av Sirkelen"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Dette er radiusen av denne sirkelen"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -946,58 +901,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,10 +913,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,30 +993,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Fylt Rektangel"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Eksempel"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Lagets farge belegg"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punkt 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Første hjørne av rektangele"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punkt 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Andre hjørne av rektanglet"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Fjær x"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Fjær y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Bruk Bøyen for hjørnene"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Hold  Bøyen sirkulær"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Når sjekket er bøyen sirkulær"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metakuler"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Kuler"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Radier"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Vekter"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Venstre Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Høyre Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Bare Posetiv"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Simpel Sirkel"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1125,7 +1134,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1205,125 +1214,54 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
+msgstr "Type"
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Farge"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1366,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1435,7 +1373,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1481,6 +1419,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1557,7 +1566,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1565,7 +1576,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1581,12 +1592,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1605,7 +1616,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1622,7 +1633,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1641,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1669,11 +1681,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1702,54 +1714,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1782,7 +1799,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1798,16 +1815,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1837,7 +1854,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1865,54 +1882,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1977,6 +1996,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1984,8 +2004,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2038,66 +2058,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Farge"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2117,24 +2244,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2174,7 +2302,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2198,56 +2326,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2255,11 +2374,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2271,479 +2390,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2781,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2822,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2844,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2871,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2905,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2939,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2948,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3283,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3345,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3432,228 +3592,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3668,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3710,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3718,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3798,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3834,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3917,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3954,16 +4497,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3996,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4048,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4080,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4108,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4123,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4358,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/pl_PL.gmo b/po/pl_PL.gmo
index 0183390..91e3efa 100644
Binary files a/po/pl_PL.gmo and b/po/pl_PL.gmo differ
diff --git a/po/pl_PL.po b/po/pl_PL.po
index e9df072..c0247b7 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -1,21 +1,24 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Adam Humienny <adam.humienny at gmail.com>, 2014-2015
+# Adam Humienny <adam.humienny at gmail.com>, 2014
 # darkhog <rave002 at o2.pl>, 2011
-# Michał Szymański <szamanx01 at gmail.com>, 2012-2013
-# wozniax1 <wozniax1 at wp.pl>, 2013
+# szamanx01 <szamanx01 at gmail.com>, 2012-2013
+# Piotr Woznicki <wozniax1 at wp.pl>, 2013
 # darkhog <rave002 at o2.pl>, 2011
-# Michał Szymański <szamanx01 at gmail.com>, 2013
-# Michał Szymański <szamanx01 at gmail.com>, 2012
+# Adam Humienny <adam.humienny at gmail.com>, 2014
+# szamanx01 <szamanx01 at gmail.com>, 2013
+# szamanx01 <szamanx01 at gmail.com>, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-22 19:59+0000\n"
-"Last-Translator: Michał Szymański <szamanx01 at gmail.com>\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/synfig/"
 "language/pl_PL/)\n"
 "Language: pl_PL\n"
@@ -25,166 +28,17 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Wypełniony prostokąt"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Przykład"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Kolor"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Wypełnij kolorem warstwy"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punkt 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Pierwszy róg prostokąta"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punkt 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Drugi róg prostokąta"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Rozmycie krawędzi X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Rozmycie krawędzi Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Obwódka"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Użyj Obwódki dla rogów"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Utrzymuj zaokrągloną obwódkę"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Po zaznaczeniu obwódka jest zaokrąglona"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballe"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Kule"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Promienie"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Wagi"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradient lewy"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradient prawy"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Tylko pozytywne"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Prosty okrąg"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Środek"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Środek okręgu"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Promień"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "To jest promień koła"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Inne"
 
@@ -204,6 +58,17 @@ msgstr "Pusty zestaw czcionek"
 msgid "Text to Render"
 msgstr "Tekst do renderowania"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Kolor"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Kolor tekstu"
@@ -218,6 +83,7 @@ msgstr "Styl"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Narmalny"
 
@@ -230,6 +96,7 @@ msgid "Italic"
 msgstr "Kursywa"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Wytłuszczenie"
 
@@ -270,8 +137,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Określa odstęp pomiędzy wierszami tekstu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -291,16 +158,17 @@ msgid "Text Orientation"
 msgstr "Orientacja tekstu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Punkt pochodzenia"
 
@@ -333,97 +201,102 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Wyłącz tę opcję jeśli będziesz animował tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Odwróć"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 "Tekst nie zostanie wyrenderowany.Powód:  czcionka nie została załadowana."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Tekst nie zostanie wyrenderowany. Powód: zbyt mały rozmiar."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Nie można ustawić rozmiaru czcionki"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Zła sekwencja multibajtowa, czy lokalizacja jest ustawiona?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Nie można sparsować znaku wielobajtowego\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Wypuklenie"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stylizuj"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Typ rozmycia"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Rozmycie pudełkowe"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Szybkie rozmycia Gaussa"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Rozmycie Cross-Hatch"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Rozmycie Gaussa"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Rozmycie dyskowe"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Kolor początkowy"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Kolor końcowy"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Mały kąt"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
-msgstr "Głębia Obwódki"
+msgstr "Głębia wypuklenia"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Miękkość"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Jednolite"
 
@@ -435,7 +308,7 @@ msgstr "Wybrany Region"
 msgid "Set of regions to combine"
 msgstr "Regiony do połączenia"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Ograniczenie kolorów"
 
@@ -474,28 +347,101 @@ msgstr "Wartość minimalna"
 msgid "Lower boundary of the clamping"
 msgstr "Dolna wartość ograniczenia"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Odkształcenie krzywej"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Zniekształcenia"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Pozycja przeznaczenia linii krzywej"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Szerokość"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Jak bardzo odchylony jest prostopadle wynik od linii źródłowej"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Punkt początkowy"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Początkowy punkt linii źródłowej"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Punkt końcowy"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Punkt końcowy linii źródłowej"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Wierzchołki"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Lista punktów krzywej, gdzie linia jest zakrzywiona do źródła"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Szybkie renderowanie"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Renderuje przebiega szybciej lecz mogą wystąpić artefakty"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importuj obraz"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Nazwa pliku już ustawiona na \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Nazwa pliku"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Plik do importu"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Przesunięcie w czasie"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Przesunięcie w czasie dla importowanego pliku"
 
@@ -503,17 +449,9 @@ msgstr "Przesunięcie w czasie dla importowanego pliku"
 msgid "Inside Out"
 msgstr "Na lewą stronę"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Zniekształcenia"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Definiuje położenie środka "
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -666,7 +604,7 @@ msgstr "Przesunięcie zewnętrznej części"
 msgid "Scale Outside"
 msgstr "Skala zewnętrznej części"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Obrót"
 
@@ -677,21 +615,20 @@ msgstr "Transformacja"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Punkt \"pochodzenia\" obiektu"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr "Ilość"
+msgstr "Wartość"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -701,7 +638,7 @@ msgstr "Ilość obrotu"
 msgid "Shade"
 msgstr "Zacienienie"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Rozmiar zacienienia"
 
@@ -711,7 +648,7 @@ msgid "Spherize"
 msgstr "Sferyczne"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Pozycja"
 
@@ -719,6 +656,17 @@ msgstr "Pozycja"
 msgid "Where the sphere distortion is centered"
 msgstr "Centrum zniekształcenia sferycznego"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Promień"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Rozmiar zniekształcenia sferycznego"
@@ -759,6 +707,14 @@ msgstr "Rozciąganie"
 msgid "Size of the stretch relative to its Center"
 msgstr "Rozciągnięcie w relacji do środka"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Środek"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Punkt centralny rozciągnięcia"
@@ -779,50 +735,39 @@ msgstr "Częstotliwość w migotaniach na sekundę"
 msgid "Super Sample"
 msgstr "Próbkowanie"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Nie można utworzyć celu"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Szerokość"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Szerokość obszaru próbkowania (w pikselach)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Wysokość"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Wysokość  obszaru próbkowania (w pikselach)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Parametryczny renderer"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Użyj parametrycznego renderera zamiast domyślnego"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Uwzględnij alfę"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Zaznaczone: Unikaj artefaktów kanału alfa"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Pętla czasu"
@@ -835,41 +780,41 @@ msgstr "Czas początkowy"
 msgid "Start time of the loop for the cycled context"
 msgstr "Czas od którego pętla ma się rozpocząć wewnątrz obiektu"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Czas lokalny"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Czas startu pętli wynikowej"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Czas trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Czas pętli wewnątrz obiektu"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Tylko dla dodatniego czasu trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 "Zaznaczone: pętla jest pomijana przy wartościach ujemnych czasu trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symetryczna"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Gdy zaznaczone, pętle są dublowane wokół czasu lokalnego"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Przenieś"
 
@@ -877,12 +822,25 @@ msgstr "Przenieś"
 msgid "Twirl"
 msgstr "Wir"
 
-#: src/modules/lyr_std/twirl.cpp:124
-msgid "Rotations"
-msgstr "Rotacje"
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Środek okręgu"
 
-#: src/modules/lyr_std/twirl.cpp:125
-msgid "The number of rotations of the twirl effect"
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "To jest promień koła"
+
+#: src/modules/lyr_std/twirl.cpp:124
+msgid "Rotations"
+msgstr "Rotacje"
+
+#: src/modules/lyr_std/twirl.cpp:125
+msgid "The number of rotations of the twirl effect"
 msgstr "Liczba rotacji efektu wiru"
 
 #: src/modules/lyr_std/twirl.cpp:131
@@ -907,15 +865,15 @@ msgstr "Górny lewy róg źródła zniekształcenia"
 
 #: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
-msgstr ""
+msgstr "Źródło PD"
 
 #: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
-msgstr ""
+msgstr "Prawy dolny róg  źródła zniekształcenia"
 
 #: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
-msgstr ""
+msgstr "Cel LG"
 
 #: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
@@ -923,7 +881,7 @@ msgstr "Lewy górny róg celu efektu"
 
 #: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
-msgstr ""
+msgstr "Cel PG"
 
 #: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
@@ -931,7 +889,7 @@ msgstr "Prawy górny róg celu efektu"
 
 #: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
-msgstr ""
+msgstr "Cel PD"
 
 #: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
@@ -939,7 +897,7 @@ msgstr "Prawy dolny róg celu efektu"
 
 #: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
-msgstr ""
+msgstr "Cel  LD"
 
 #: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
@@ -953,58 +911,6 @@ msgstr "Horyzont"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Określa zasięg efektu"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Punkt początkowy"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Początkowy punkt linii źródłowej"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Punkt końcowy"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Punkt końcowy linii źródłowej"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Wierzchołki"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Szybko"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Renderuje przebiega szybciej lecz mogą wystąpić artefakty"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Wzór XOR"
@@ -1017,76 +923,77 @@ msgstr "Centrum wzoru"
 msgid "Size of the pattern"
 msgstr "Rozmiar wzoru"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "Skala"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
-msgstr ""
+msgstr "Ilość w skali do"
 
 #: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
-msgstr ""
+msgstr "Punkt w skali do"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Nie można otworzyć %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s nie jest formatem BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
+msgstr "Awaria podczas czytania BITMAP::FILEHEADER z %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
+msgstr "Awaria podczas czytania BITMAP::INFOHEADER z %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr ""
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr "Złe BITMAP::FILEHEADER w %s. (bfOffsetBits=%d, powinno być %d)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr ""
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
+msgstr "Złe BITMAP::INFOHEADER w %s. (biSize=%d, powinno być %d)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Czytanie skompresowanych map bitowych nie jest wspierane"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Niewspierana głębia bitów (bit_count=%d, powinien być 24 lub 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(animowany)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Nie można otworzyć pliku"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Nie można zapisać nagłówka do pliku"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
-msgstr ""
+msgstr "Nie można zapisać informacji nagłówka"
 
 #: src/modules/mod_dv/trgt_dv.cpp:164 src/modules/mod_dv/trgt_dv.cpp:173
 #: src/modules/mod_dv/trgt_dv.cpp:180 src/modules/mod_dv/trgt_dv.cpp:190
@@ -1094,37 +1001,143 @@ msgstr ""
 #: src/modules/mod_dv/trgt_dv.cpp:207 src/modules/mod_dv/trgt_dv.cpp:216
 #: src/modules/mod_dv/trgt_dv.cpp:225
 msgid "Unable to open pipe to encodedv"
-msgstr ""
+msgstr "Nie można otworzyć strumienia do encodedv"
+
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Wypełniony prostokąt"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Przykład"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Wypełnij kolorem warstwy"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punkt 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Pierwszy róg prostokąta"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punkt 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Drugi róg prostokąta"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Rozmycie krawędzi X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Rozmycie krawędzi Y"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Użyj wypuklenia dla rogów"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Utrzymuj zaokrąglone wypuklenie"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Po zaznaczeniu wypuklenie jest zaokrąglone"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballe"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Kule"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Promienie"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Wagi"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradient lewy"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradient prawy"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Tylko pozytywne"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Prosty okrąg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
+"Błąd: Nie znaleziono kodeka FFmpeg\n"
+"\n"
+"Proszę zainstalować \"ffmpeg\" lub \"avconv\" (pakiet libav-tools)."
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Nie można otworzyć pliku"
+msgstr "Nie można otworzyć strumienia do ffmpeg (brak strumienia)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr ""
+msgstr "Nie można otworzyć strumienia do ffmpeg (pid == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
+"Nie można otworzyć strumienia do ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Nie można otworzyć pliku"
+msgstr "Nie można otworzyć strumienia do ffmpeg (exec nie powiodło się)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Nie można otworzyć pliku"
+msgstr "Nie można otworzyć strumienia do ffmpeg (brak pliku)"
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1135,7 +1148,7 @@ msgstr "Rozmycie"
 msgid "Blurs"
 msgstr "Rozmycia"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Rozmiar rozmycia"
 
@@ -1157,7 +1170,7 @@ msgstr "Kontrast"
 
 #: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
-msgstr ""
+msgstr "Regulacja naświetlenia"
 
 #: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
@@ -1165,7 +1178,7 @@ msgstr "Dopasowanie gamma "
 
 #: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
-msgstr ""
+msgstr "Półton 2"
 
 #: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
@@ -1207,11 +1220,11 @@ msgstr "Diament"
 #: src/modules/mod_filter/halftone2.cpp:180
 #: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
-msgstr ""
+msgstr "Pasek"
 
 #: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
-msgstr ""
+msgstr "Półton 3"
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
@@ -1219,7 +1232,7 @@ msgstr "Typ"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
-msgstr ""
+msgstr "Ujemna flaga"
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
@@ -1235,7 +1248,7 @@ msgstr "Nachylenie maski"
 
 #: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
-msgstr ""
+msgstr "Tonacja szarości"
 
 #: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
@@ -1247,15 +1260,15 @@ msgstr "Rozmiar rozmycia"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr ""
+msgstr "Blednięcie na zewnątrz"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Zaawansowany kontur"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1263,233 +1276,235 @@ msgstr ""
 msgid "Geometry"
 msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:152
+msgid "No vertices in spline "
+msgstr "Brak wierzchołka w krzywej"
 
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
+msgid "A list of spline points"
+msgstr "Lista punktów krzywej"
 
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
+msgid "Outline Width"
+msgstr "Szerokość konturu"
 
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Okrąg"
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
+msgid "Global width of the outline"
+msgstr "Ogólna szerokość konturu"
 
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Promień okręgu"
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
+msgid "Expand"
+msgstr "Poszerz"
 
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Rozmycie krawędzi"
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
+msgid "Value to add to the global width"
+msgstr "Wartość dodana do ogólnej szerokości"
 
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
+msgid "Tip Type at Start"
+msgstr "Typ końcówki na starcie"
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
+msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
+"Określa typ końcówki pierwszego punktu krzywej gdy krzywa jest zapętlona"
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Funkcja rozmycia"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Liniowa"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Kwadratowa"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Pierwiastka kwadratowego"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Cosinus"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:152
-msgid "No vertices in spline "
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1136
-#: src/modules/mod_geometry/outline.cpp:826
-#: src/modules/mod_geometry/region.cpp:240
-#: src/modules/mod_gradient/curvegradient.cpp:562
-#: src/modules/mod_particle/plant.cpp:425
-msgid "A list of spline points"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1140
-#: src/modules/mod_geometry/outline.cpp:840
-msgid "Outline Width"
-msgstr "Szerokość konturu"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/outline.cpp:841
-msgid "Global width of the outline"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1145
-#: src/modules/mod_geometry/outline.cpp:846
-msgid "Expand"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1146
-#: src/modules/mod_geometry/outline.cpp:847
-msgid "Value to add to the global width"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1149
-msgid "Tip Type at Start"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-msgid "Defines the Tip type of the first spline point when spline is unlooped"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
-msgid "Rounded Stop"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
+msgid "Rounded Stop"
+msgstr "Zatrzymaj zaokrąglanie"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
-msgstr ""
+msgstr "Zatrzymaj potęgowanie"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
-msgstr ""
+msgstr "Zatrzymaj wierzchołek"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
-msgstr ""
+msgstr "Zatrzymaj płaszczyznę"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
-msgstr ""
+msgstr "Typ końcówki na krańcach"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
+"Określa typ końcówki ostatniego punktu krzywej gdy krzywa jest zapętlona"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
-msgstr ""
+msgstr "Typ wierzchołków"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1168
 #: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
-msgstr ""
+msgstr "Określa typ wierzchołków"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
-msgstr ""
+msgstr "Ostre"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Zaokrąglony"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "Gładkość"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
-msgstr ""
+msgstr "Określa interpolację pomiędzy punktami. (0) Liniowy (1) Gładki"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
-msgstr ""
+msgstr "Homogeniczny"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
-msgstr ""
+msgstr "Gdy prawda pozycje punktu są oparte o długość krzywej"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
-msgstr ""
+msgstr "Szerokość listy punktów"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
-msgstr ""
+msgstr "Lista punktów szerokości, który definiuje zmienną szerokość"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
-msgstr ""
+msgstr "Po zaznaczeniu kontur renderuje szybciej, ale mniej dokładne"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr ""
+msgstr "Kontur przerywany"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr ""
+msgstr "Jeśli zaznaczone obwód jest przerywany"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
-msgstr ""
+msgstr "Lista przerwań"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
-msgstr ""
+msgstr "Lista pozycji przerwań konturu"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
-msgstr ""
+msgstr "Przesunięcie pozycji kreski"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
-msgstr ""
+msgstr "Odległość odsunięcia pozycji kreski"
+
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Szachownica"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Kolor pól"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Środek szachownicy"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Rozmiar pól"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Okrąg"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Promień okręgu"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Rozmycie krawędzi"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Długość rozmycia okręgu"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Odwróć okrąg"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Funkcja rozmycia"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Określa funkcję zanikania"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Liniowa"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Kwadratowa"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Pierwiastka kwadratowego"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosinus"
 
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
@@ -1501,16 +1516,16 @@ msgstr "Brak wierzchołków wewnątrz konturu"
 
 #: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
-msgstr ""
+msgstr "Ostre wierzchołki"
 
 #: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
-msgstr ""
+msgstr "Zaokrąglony początek"
 
 #: src/modules/mod_geometry/outline.cpp:857
 #: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
-msgstr ""
+msgstr "Zaokrąglenie końcówki"
 
 #: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
@@ -1518,15 +1533,15 @@ msgstr "Zaokrąglony koniec"
 
 #: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
-msgstr ""
+msgstr "Loopyness"
 
 #: src/modules/mod_geometry/outline.cpp:866
 msgid "(Currently not used)"
-msgstr ""
+msgstr "(Obecnie nie używane)"
 
 #: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
-msgstr ""
+msgstr "Po zaznaczeniu szerokość przyjmuje długość krzywej do interpolacji"
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
@@ -1534,75 +1549,77 @@ msgstr "Prostokąt"
 
 #: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
-msgstr ""
+msgstr "Wielkość rozszerzenia"
 
 #: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
-msgstr ""
+msgstr "Odwróć prostokąt"
 
 #: src/modules/mod_geometry/region.cpp:64
 msgid "Region"
-msgstr ""
+msgstr "Region"
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr ""
+msgstr "Gwiazda"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
-msgstr ""
+msgstr "Zewnętrzny promień"
 
 #: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
-msgstr ""
+msgstr "Odległość do zewnętrznych punktów od środka gwiazdy"
 
 #: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
-msgstr ""
+msgstr "Wewnętrzny promień"
 
 #: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
-msgstr ""
+msgstr "Odległość do wewnętrznych punktów od środka gwiazdy"
 
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Kąt"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
-msgstr ""
+msgstr "Orientacja gwiazdy"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Punkty"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
-msgstr ""
+msgstr "Ilość ramion w gwieździe"
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Regularny wielokąt"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
-msgstr ""
+msgstr "Gwiazda lub regularny wielokąt"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
-msgstr ""
+msgstr "Nie można otworzyć \"%s\" do zapisu!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
-msgstr ""
+msgstr "Nie ustawiono opisu!"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:57
 msgid "Conical Gradient"
-msgstr ""
+msgstr "Stożkowaty gradient"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
 #: src/modules/mod_gradient/curvegradient.cpp:62
@@ -1611,2503 +1628,3066 @@ msgstr ""
 #: src/modules/mod_gradient/spiralgradient.cpp:58
 #: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
-msgstr ""
+msgstr "Gradienty"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
-msgstr ""
+msgstr "Zaaplikowany gradient"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:115
 msgid "Center of the cone"
-msgstr ""
+msgstr "Środek stożka"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:121
 msgid "Rotation of the gradient around the center"
-msgstr ""
+msgstr "Rotacja gradientu wokół środka"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
-msgstr ""
+msgstr "Po zaznaczeniu gradient jest zapętlony"
 
 #: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
-msgstr ""
+msgstr "Gradient krzywej"
 
 #: src/modules/mod_gradient/curvegradient.cpp:551
 #: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
-msgstr ""
+msgstr "Punkt pochodzenia dla listy wierzchołków"
 
 #: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
-msgstr ""
+msgstr "Szerokość globalna gradientu"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Pętla"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
-msgstr ""
+msgstr "ZigZag"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr ""
+msgid "When checked the gradient is symmetrical at the center"
+msgstr "Gdy zaznaczony gradient jest symetryczny względem środka"
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
-msgstr ""
+msgstr "Prostopadły"
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr ""
+msgstr "Gradient liniowy"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
-msgstr ""
+msgstr "Punkt początkowy gradientu"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
-msgstr ""
+msgstr "punkt końcowy gradientu"
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr ""
+msgstr "Gradient okrężny"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
-msgstr ""
+msgstr "Środek gradientu"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
-msgstr ""
+msgstr "Gradient spiralny"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
-msgstr ""
+msgstr "Rotacja spirali"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
-msgstr ""
+msgstr "Kierunek zegara"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
-msgstr ""
+msgstr "Po zaznaczeniu spirala obraca się zgodnie z ruchem wskazówek zegara"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
-msgstr ""
+msgstr "Brak pliku do załadowania"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr "Nie można utworzyć pliku tymczasowego z"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
-msgstr ""
+msgstr "Nie można otworzyć"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
-msgstr ""
+msgstr "Nie można otrzymać klatki z"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
-msgstr ""
+msgstr "Złe źródło z"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
-msgstr ""
+msgstr "Nie można otworzyć strumienia do imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
-msgstr ""
+msgstr "Osiągnięto koniec strumienia nie znajdując nagłówka PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
-msgstr ""
+msgstr "strumień nie jest w formacie PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
-msgstr ""
+msgstr "Przedwczesny koniec pliku (po nagłówku)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
-msgstr ""
+msgstr "Przedwczesny koniec pliku"
 
 #: src/modules/mod_imagemagick/trgt_imagemagick.cpp:157
 msgid "Unable to open pipe to imagemagick's convert utility"
-msgstr ""
+msgstr "Nie można otworzyć strumienia do aplikacji przetwarzającej imagemagick"
 
 #: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
-msgstr ""
+msgstr "Zniekształcenie szumem"
 
 #: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
-msgstr ""
+msgstr "Przemieszczenie"
 
 #: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
-msgstr ""
+msgstr "Jak bardzo rozmycie przemieszcza kontekst"
 
 #: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
-msgstr ""
+msgstr "Odstęp pomiędzy rozmyciami"
 
 #: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
-msgstr ""
+msgstr "Losowe rozsianie szumu"
 
 #: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
-msgstr ""
+msgstr "Zmień by zmodyfikować losowe rozsianie szumu"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolacja"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
-msgstr ""
+msgstr "Jakiego typu interpolacji użyć"
 
 #: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
 #: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
-msgstr ""
+msgstr "Najbliższego sąsiada"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
-msgstr ""
+msgstr "Krzywa"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
-msgstr ""
+msgstr "Sześcienna"
 
 #: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
-msgstr ""
+msgstr "Detale"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
-msgstr ""
+msgstr "Zwiększ by otrzymać drobne szczegóły szumu"
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
-msgstr ""
+msgstr "Szybkość animacji"
 
 #: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
-msgstr ""
+msgstr "W cyklach na sekundę"
 
 #: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
-msgstr ""
+msgstr "Burzliwy"
 
 #: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
-msgstr ""
+msgstr "Gdy zaznaczony tworzy burzliwe zakłócenia"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "Losowy"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
-msgstr ""
+msgstr "Gradient zakłóceń"
 
 #: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
-msgstr ""
+msgstr "Rozmiar zakłóceń"
 
 #: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
-msgstr ""
+msgstr "Alfa"
 
 #: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
-msgstr ""
+msgstr "Wykorzystuje przeźroczystość"
 
 #: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
-msgstr ""
+msgstr "Super sampel"
 
 #: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
-msgstr ""
-
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+msgstr "Po zaznaczeniu gradient jest supersamplem"
+
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Link"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
-msgstr ""
+msgstr "Wartość źródłowa dostarcza wartość centralną"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
-msgstr ""
+msgstr "Wartość maksymalnej losowej różnicy"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
-msgstr ""
+msgstr "Ziarno"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
-msgstr ""
+msgstr "Wypełnienie generatora liczb pseudo-losowych"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
-msgstr ""
+msgstr "Prędkość"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
+"Definiuje jak często losowana jest wartość losowa(losowania na sekundę)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
-msgstr ""
+msgstr "Określa wartość interpolowana z jednego losowego wyboru na następny"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
-msgstr ""
+msgstr "Brak interpolacji"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
-msgstr ""
+msgstr "Czas pętli"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
-msgstr ""
+msgstr "Powtarza wartość losową po podanym czasie"
 
 #: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
-msgstr ""
+msgstr "Roślina"
 
 #: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
-msgstr ""
+msgstr "Gradient wykorzystany do kolorowania rosliny"
 
 #: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
-msgstr ""
+msgstr "Kąt podziału"
 
 #: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
-msgstr ""
+msgstr "Kąt, o który każdy podział odbiega od jego rodzica"
 
 #: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
-msgstr ""
+msgstr "Grawitacja"
 
 #: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
-msgstr ""
+msgstr "Kierunek w którym tendencja strzelania jest do przodu"
 
 #: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
-msgstr ""
+msgstr "Prędkość styczna"
 
 #: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
-msgstr ""
+msgstr "Wartość do której pędy rosną wzdłuż stycznej do krzywej "
 
 #: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
-msgstr ""
+msgstr "Prędkość prostopadła - składowa normalna"
 
 #: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
-msgstr ""
+msgstr "Ilość do którego trafia rosną prostopadle do stycznej do krzywej"
 
 #: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
-msgstr ""
+msgstr "Rozmiar rdzenia"
 
 #: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
-msgstr ""
+msgstr "Rozmiar rdzenia"
 
 #: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
-msgstr ""
+msgstr "Rozmiar jako alfa"
 
 #: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
+"Jeżeli włączone, a kanał z gradientem jest mnożona przez wielkość trzpienia "
+"i alfa 1.0, jest używany podczas renderingu"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
-msgstr ""
+msgstr "Odrwóć"
 
 #: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
-msgstr ""
+msgstr "Gdy zaznaczone renderuje roślinę w przeciwną stronę"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
-msgstr ""
+msgstr "Kroki"
 
 #: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
-msgstr ""
+msgstr "Mierzy odstęp pomiędzy punktami w czasie renderingu"
 
 #: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
-msgstr ""
+msgstr "Wykorzystane do wypełnienia generatora liczb pseudo-losowych"
 
 #: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
-msgstr ""
+msgstr "Podział"
 
 #: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
-msgstr ""
+msgstr "Maksymalna liczba rekursywnego kiełkowania kiełków"
 
 #: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
-msgstr ""
+msgstr "Kiełki"
 
 #: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
-msgstr ""
+msgstr "Liczba miejsc, dla których wzrost występuje na każdej sekcji srzywej"
 
 #: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
-msgstr ""
+msgstr "Czynnik losowy"
 
 #: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
+"Wykorzystywane do skalowania w dół wszystkich losowych efektów. Ustawiony na "
+"zero, wyłącza losowość"
 
 #: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
-msgstr ""
+msgstr "Przeciągnij"
 
 #: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
-msgstr ""
+msgstr "Przeciąganie spowalnia wzrost"
 
 #: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
-msgstr ""
+msgstr "Wykorzystaj szerokość"
 
 #: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
+msgstr "Skalowanie prędkości przez szerokość krzywej"
+
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Zły status powierzchni Cairo"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
 msgstr ""
+"Obraz jest zbyt duży. Musi być nie większy niż 5000*2000=10000000 px. Teraz "
+"jest %d*%d=%d px."
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
-msgstr ""
+msgstr "%s nie był w formacie PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr ""
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "Importuj svg"
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr ""
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "wartość logiczna"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr ""
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "Iiczba całkowita"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "Kąt"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Prawdziwy"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "Czas"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Wektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Kolor"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Odcinek"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "punkt_krzywej"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "macierz"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr "waga_pary_kosci"
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "szerokość punktu"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "element_kreska"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "Lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Canvas"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "Ciąg"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradient"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "objekt_kość"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "kość_wartośćwęzła"
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "Transformacja"
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr "CairoImporter::open(): nie można otworzyć pustego pliku"
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr "CairoImporter::open(): Nie można znaleźć rozszerzenia"
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr "CairoImporter::open(): Nieznany typ pliku --"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
-msgstr ""
+msgstr "Brak obrazów na liście"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
-msgstr ""
+msgstr "w linii"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Jednostki"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Pikseli"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "Cali"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Metrów"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetrów"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
-msgstr ""
+msgstr "Centymetrów"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(); Nie można otworzyć pustej nazwy pliku"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(); Nie znaleziono wyrażenia"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(); Nieznany typ pliku --"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
-msgstr ""
+msgstr "Nie można utworzyć powierzchni celu"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Głębia Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
-msgstr ""
+msgstr "Zmienia pozycję warstwy na stosie warstw"
 
 #: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
-msgstr ""
+msgstr "Górny-lewy"
 
 #: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
-msgstr ""
+msgstr "W górnym lewym rogu obrazu "
 
 #: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
-msgstr ""
+msgstr "Dolny-prawy"
 
 #: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
-msgstr ""
+msgstr "W dolnym prawym rogu obrazu"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
-msgstr ""
+msgstr "Kanał alfa warstwy"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Metoda łączenia"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
-msgstr ""
+msgstr "Metoda łączenia wykorzystana do złożenia na warstwach poniżej"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Duplikat"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
-msgstr ""
+msgstr "Indeks"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
-msgstr ""
+msgstr "Kopiuj ndeks"
 
 #: src/synfig/layer_mime.cpp:86
 msgid "[MIME]"
-msgstr ""
+msgstr "[MIME]"
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr ""
+msgstr "Zamazanie ruchu"
 
 #: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
-msgstr ""
+msgstr "Apertura"
 
 #: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
-msgstr ""
+msgstr "Czas migawki"
 
 #: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
-msgstr ""
+msgstr "Współczynnik subsampli"
 
 #: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
-msgstr ""
+msgstr "Mnoży liczbę wyrenderowanych subsampli"
 
 #: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
-msgstr ""
+msgstr "Typ subsampli"
 
 #: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
-msgstr ""
+msgstr "Krzywa typu warzonego podpróbki"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "Stała"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
-msgstr ""
+msgstr "Hiperboliczny"
 
 #: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
-msgstr ""
+msgstr "Wartość startowa podpróbki"
 
 #: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
-msgstr ""
+msgstr "Względna ilość pierwszej podpróbki, do liniowego Obciążania"
 
 #: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
-msgstr ""
+msgstr "Wartość końcowa podpróbki"
 
 #: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
-msgstr ""
+msgstr "Względna ilość ostatniej podpróbki dla liniowego obciążenia"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr "Pozycja przesunięcia"
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Transformacja"
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr "Pozycja, rotacja, pochylenie i skala"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Przybliżenie"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Canvas"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
+msgstr "Grupa treści"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
-msgstr ""
+msgstr "Przesunięcie w czasie do zastosowania w kontekście"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
+msgstr "Po zaznaczeniu zapobiega wybrać dzieci za pomocą kliknięcia myszy"
 
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
-msgstr ""
+msgstr "Kontur rosnący"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
-msgstr ""
+msgstr "Wartość wykładnicza wzrostu szerokości warstwy dzieci konturu"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
-msgstr ""
+msgstr "Aktualny czas"
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
-msgstr ""
+msgstr "Wielobok"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
-msgstr ""
+msgstr "Lista wierzchołków"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
-msgstr ""
+msgstr "Określ boki wieloboku"
 
 #: src/synfig/layer_shape.cpp:66
 msgid "Shape"
-msgstr ""
+msgstr "Kształt"
 
 #: src/synfig/layer_shape.cpp:67
 msgid "Internal"
-msgstr ""
+msgstr "Wewnętrzny"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
-msgstr ""
+msgstr "Warstwa_kształt_kolor"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
-msgstr ""
+msgstr "Antyaliasing"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr ""
+msgstr "Typ pióra"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
-msgstr ""
+msgstr "Typ upierzenia"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
-msgstr ""
+msgstr "Styl skrzydła"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
-msgstr ""
+msgstr "Styl uskrzydlenia"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
-msgstr ""
+msgstr "Nie zerowa"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
-msgstr ""
+msgstr "Parzysta/Nieparzysta"
+
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Szkielet"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nazwa"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Kości"
 
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
+msgstr "Stały kolor"
+
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Zaokrąglony"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Nie można otworzyć pliku"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Przełącznik"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Nazwa aktywnej warstwy"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr "Tylko warstwa o określonej nazwie jest widoczna"
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
-msgstr ""
+msgstr "nie mozna załadować <%s> rekurencyjnie"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
-msgstr ""
+msgstr "Nieoczekiwany element <%s>. Oczekiwano <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
-msgstr ""
+msgstr "Nieoczekiwany element <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
-msgstr ""
+msgstr "Zbyt wiele ostrzezeń"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
-msgstr ""
+msgstr "<%s> nie zawiera atrybutu \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
-msgstr ""
+msgstr "<%s> powinien być pusty"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
-msgstr ""
+msgstr "<%s> nie zawiera atrybutu \"value\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
-msgstr ""
+msgstr "Zła wartość \"%s\" w <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
-msgstr ""
+msgstr "<%s> nie zawiera atrybutu \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
-msgstr ""
+msgstr "Nie mozna stworzyć <animated> z typem \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
-msgstr ""
+msgstr "<waypoint> nie zawiera atrybutu \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
+"Znaleziono atrybut \"use\" dla <waypoint>, ale nie był pusty. Zawartość "
+"została zignorowana"
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
-msgstr ""
+msgstr "Nieznane ID (%s) odwołuje się do waypoint"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
-msgstr ""
+msgstr "<%s> nie zawiera danych"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
-msgstr ""
+msgstr "Złe dane dla <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
-msgstr ""
+msgstr "Nieoczekiwany element <%s> po danych <waypoint> został zignorowany "
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
-msgstr ""
+msgstr "Brakuje atrybutu \"type\" w <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
-msgstr ""
+msgstr "Zły typ w <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
+"Błąd podczas tworzenia wartości węzła <%s> z typu '%s' . Odnoszą się do '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
-msgstr ""
+msgstr "<%s> nie zaakceptował typu '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
-msgstr ""
+msgstr "'%s' został już zdefiniowany w <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
-msgstr ""
+msgstr "Atrybut '%s' w <%s> odnosi się do nieznanego ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
+"Nie można ustawić linku '\"%s\" wartości węzła \"%s\" (link #%d w \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
-msgstr ""
+msgstr "Nieznany wyjątek został rzucony w trakcie nawiązania ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
-msgstr ""
+msgstr "Zawartość elementu <%s> nie istnieje"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
-msgstr ""
+msgstr "Analiza '%s' zawiodła"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
+"Nie można się połączyć z węzłem wartości ('%s' typu '%s') aby połączyć %d "
+"(%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
-msgstr ""
+msgstr "Nieznany wyjątek został rzucony w trakcie pracy nad elementem \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
-msgstr ""
+msgstr "<%s> brakuje linku %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
-msgstr ""
+msgstr "Nie można utworzyć <list>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
-msgstr ""
+msgstr "<entry>brakuje zawartości lub brakuje \"użytego\" elementu"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
-msgstr ""
+msgstr "Nie można utworzyć <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
-msgstr ""
+msgstr "Złe dane w <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
-msgstr ""
+msgstr "Oczekuje wartości węzła, Odnosi się do '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
-msgstr ""
+msgstr "Złe ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
-msgstr ""
+msgstr "Duplikat ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
+"Nieznany wyjątek został rzucony w trakcie dodawania wartosci węzła \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
-msgstr ""
+msgstr "Brakuje \"type\" atrybutu  w \"warstwie\" element"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
-msgstr ""
+msgstr "Wersja warstwy jest niższa niż zainstalowana wersja warstwy w pliku"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
-msgstr ""
+msgstr "<name> wpis na <layer> nie jest jeszcze obsługiwany. Ignorowanie..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
-msgstr ""
+msgstr "<desc> wpis na <layer> nie jest jeszcze obsługiwany. Ignorowanie..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
-msgstr ""
+msgstr "Brakuje \"name\" atrybutu dla <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
+"Znaleziono atrybut \"use\" dla <param>, ale nie był pusty. Zawartość została "
+"zignorowana"
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
-msgstr ""
+msgstr "Puste użycie=\"\" wartość w <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
-msgstr ""
+msgstr "Nie można załadować subcanvas '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
-msgstr ""
+msgstr "Warstwa odrzuciła połączenie obwiedni"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
-msgstr ""
+msgstr "Nieznane ID (%s) odwołuje się do parametru \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
-msgstr ""
+msgstr "<param> brakuje zawartości lub brakuje \"używanego\" atrybutu."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
-msgstr ""
+msgstr "Złe dane dla <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
-msgstr ""
+msgstr "Warstwa '%s' odrzuca wartość dla parametru '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
-msgstr ""
+msgstr "Nieoczekiwany element <%s> po danych <param> , ignorowanie...."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
+"Obwiednia o szerokości lub wysokości mniejszej niż jeden nie jest dozwolona"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
-msgstr ""
+msgstr "Grupa obwiedni nie może mieć sekcji <defs>"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
-msgstr ""
+msgstr "Obwiednia w linii nie może mieć sekcji <bones>"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
-msgstr ""
+msgstr "Grupa obwiedni nie może mieć klatki kluczowej"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
-msgstr ""
+msgstr "Grupa obwiedni nie może mieć metedanych"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
-msgstr ""
+msgstr "<meta> musi mieć nazwę"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
-msgstr ""
+msgstr "<meta> musi mieć zawartość"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
-msgstr ""
+msgstr "pusta \"nazwa\" jednostki"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
-msgstr ""
+msgstr "pusty \"cel\" jednostki"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
-msgstr ""
+msgstr "pusty \"autor\" jednostki"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
-msgstr ""
+msgstr "Obwiednia '%s' jest niezdefiniowana %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "Wartość węzła"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
-msgstr ""
+msgstr "Wartości węzłów"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr "Nie można znaleźć połączonego pliku"
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
-msgstr ""
+msgstr "Nie można otworzyć pliku"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
-msgstr ""
+msgstr "Niezgodność wersji interfejsu API (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Niedopasowania wielkości wektorowych (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Wielkość niedopasowania kolorów (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Niedopasowana wielkość obwiedni (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Niedopasowana wielkość warstwy (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr "Startuję podsystem \"dzwięk\""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr "Inicjalizacja podsystemu \"dzwięk\" nie powiodła się "
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr "Startuję podsystem \"Typy\""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr "Inicjalizacja podsystemu \"Typy\" nie powiodła się "
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
-msgstr ""
+msgstr "Startuję subsystem \"Moduły\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr ""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr "Inicjalizacja podsystemu \"Moduły\" nie powiodła się "
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
-msgstr ""
+msgstr "Startuję podsystem \"Warstwy\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
-msgstr ""
+msgstr "Inicjalizacja podsystemu \"Warstwy\" nie powiodła się "
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
-msgstr ""
+msgstr "Startuję podsystem \"Cele\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
-msgstr ""
+msgstr "inicjalizacja nie powiodła się"
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
-msgstr ""
+msgstr "Startuję podsystem \"Importerzy\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
-msgstr ""
+msgstr "Inicjalizacja podsystemu \"Importerzy\" nie powiodła się "
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Startuję podsystem \"Import grafiki cairo\""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Inicjalizacja podsystemu \"Import grafiki Cairo\" nie powiodła się "
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
-msgstr ""
+msgstr "Startuję podsystem \"Wartości węzłów\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
-msgstr ""
+msgstr "Inicjalizacja podsystemu \"wartości węzłów\" nie powiodła się "
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
-msgstr ""
+msgstr "Ładowanie modułów z %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
-msgstr ""
+msgstr "Nie można otworzyć listy pliku modułów '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
-msgstr ""
+msgstr "GOTOWE"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
-msgstr ""
+msgstr "błąd"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
-msgstr ""
+msgstr "Ostrzeżenie"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
-msgstr ""
+msgstr "Informacje"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
-msgstr ""
+msgstr "Błąd w lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
-msgstr ""
+msgstr "Nie można załadować modułu '%s'."
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
-msgstr ""
+msgstr "Próba zarejestrowania \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
-msgstr ""
+msgstr "Nie można znaleźć modułu \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
-msgstr ""
+msgstr "Znaleziono moduł \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
-msgstr ""
+msgstr "Nie można odnaleźć punktu wejścia w module \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
-msgstr ""
+msgstr "Punkt wejścia nie wrócił modułu."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
-msgstr ""
+msgstr "Powodzenie dla \"%s\""
 
 #: src/synfig/palette.cpp:79
 msgid "Unnamed"
-msgstr ""
+msgstr "Bez nazwy"
 
 #: src/synfig/palette.cpp:96
 msgid "Surface Palette"
-msgstr ""
+msgstr "Powierzchnia palety"
 
 #: src/synfig/palette.cpp:291
 #, c-format
 msgid "%0.2f%% Gray"
-msgstr ""
+msgstr "%0.2f%% szary"
 
 #: src/synfig/palette.cpp:306
 #, c-format
 msgid "Unable to open %s for write"
-msgstr ""
+msgstr "Nie można otworzyć %s do zapisu!"
 
 #: src/synfig/palette.cpp:328
 #, c-format
 msgid "Unable to open %s for read"
-msgstr ""
+msgstr "Nie można otworzyć %s do odczytu"
 
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
 msgid "%s does not appear to be a valid %s palette file"
-msgstr ""
+msgstr "%s nie wydaje się być ważny %s plik palety"
 
 #: src/synfig/palette.cpp:437
 #, c-format
 msgid "%s does not appear to be a supported palette file"
-msgstr ""
+msgstr "%s nie wydaje się być obsługiwany plik palety"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
-msgstr ""
+msgstr "Złożony"
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "Prosta"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "Na"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "Prosto na"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "Za"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "Ekran"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr ""
+msgstr "Pokrycie"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr ""
+msgstr "Ostre światło"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "mnożenie"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "Podzielić"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
-msgstr ""
+msgstr "Dodaj"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
-msgstr ""
+msgstr "Odejmij"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr ""
+msgstr "Różnica"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr ""
+msgstr "Rozjaśnianie"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr ""
+msgstr "Przyciemianie"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Barwa"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Nasycenie"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr ""
+msgstr "Luminacja"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
-msgstr ""
+msgstr "Ponad alfa"
 
 #: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr ""
+msgstr "Rozjaśnienie alfa"
 
 #: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr ""
+msgstr "Ciemniejsze alfa"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
-msgstr ""
+msgstr "Cel paniki"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
-msgstr ""
+msgstr "Nieznana wartość (%s), nie może stworzyć reprezentacji XML!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
+"Nieznany typ wartości węzła (%s), nie można stworzyć reprezentacji XML!"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Błąd inicjalizacji celu"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
-msgstr ""
+msgstr "Bład renderowania ramki"
 
 #: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:274
 #: src/synfig/target_scanline.cpp:435
 msgid "Unable to put surface on target"
-msgstr ""
+msgstr "Nie można umieścić na powierzchni docelowej"
 
 #: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
-msgstr ""
+msgstr "Nie wspierana metoda renderowania"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
-msgstr ""
+msgstr "Złapany ciąg :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
-msgstr ""
+msgstr "Zabrakło pamięci (prawdopodobnie bug)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
-msgstr ""
-
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
+msgstr "Znaleziony nieznany błąd, Ponowne generowanie ..."
 
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
-msgstr ""
+msgstr "Zły rozmiar fragmentu"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
-msgstr ""
+msgstr "Przyspieszone renderowanie błedne"
 
 #: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
-msgstr ""
+msgstr "Zła powierzchnia: %s"
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
-msgstr ""
+msgstr "add_tile():Nie można umieścić na powierzchni docelowej"
 
 #: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
-msgstr ""
+msgstr "Nie można uruchomić ramki"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
-msgstr ""
+msgstr "Błąd parametrycznego renderowania"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
-msgstr ""
+msgstr "Zła powierzchnia"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
+"Czas(): Nie umieszczono w kodzie jednostki czasu, zakładając ramki (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
+"Czas(): Nie umieszczono w kodzie jednostki czasu i szybkości klatek! "
+"Zakładając sekundy"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
-msgstr ""
+msgstr "Promieniowe kompozytowe"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Odniesienie"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
-msgstr ""
+msgstr "Odcinek stycznej"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
-msgstr ""
+msgstr "Odcinek wierzchołka"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
-msgstr ""
+msgstr "Paski"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
-msgstr ""
+msgstr "Dwukolorowe"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
-msgstr ""
+msgstr "Dynamiczna lista"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
-msgstr ""
+msgstr "Obróć gradient"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
-msgstr ""
+msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
-msgstr ""
+msgstr "Zmienne czasowe"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
-msgstr ""
+msgstr "Powtórz gradient"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
-msgstr ""
+msgstr "Wykładniczy"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
-msgstr ""
+msgstr "Styczna krzywej"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
-msgstr ""
+msgstr "Wierzchołek krzywej"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
+msgstr "Zakres"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
-msgstr ""
+msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
-msgstr ""
+msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
-msgstr ""
+msgstr "Odwrócone styczne "
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
-msgstr ""
+msgstr "Wzajemne"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Liczba całkowita"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
-msgstr ""
+msgstr "Szerokość krzywej"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
-msgstr ""
+msgstr "Kąt wektora"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
-msgstr ""
+msgstr "Długość wektora"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
-msgstr ""
+msgstr "Wektor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
-msgstr ""
+msgstr "Wektor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
-msgstr ""
+msgstr "Kolor gradientu"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
-msgstr ""
+msgstr "Produkt skalarny"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
-msgstr ""
+msgstr "Ciąg czasu"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Prawdziwy"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
-msgstr ""
+msgstr "Ciąg rzeczywisty"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
-msgstr ""
+msgstr "Lista złączeń"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
-msgstr ""
+msgstr "Kąt całkowity"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
-msgstr ""
+msgstr "Ciąg liczb całkowitych"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
-msgstr ""
+msgstr "Logarytm"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
-msgstr ""
+msgstr "Szaro"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
-msgstr ""
+msgstr "Włącz"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
-msgstr ""
+msgstr "porównaj"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
-msgstr ""
+msgstr "Nie"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
-msgstr ""
+msgstr "i"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
-msgstr ""
+msgstr "lub"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
-msgstr ""
+msgstr "Działanie kości"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "Kość"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
-msgstr ""
+msgstr "Główna kość"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
-msgstr ""
+msgstr "Statyczna lista"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
-msgstr ""
+msgstr "Waga pary kości"
+
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "Linia kości"
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
-msgstr ""
+msgstr "ListaWP"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
-msgstr ""
+msgstr "ListaDI"
+
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "Średnia"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr "Średnia ważona"
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "Dynamiczna"
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "Pochodna"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
-msgstr ""
+msgstr "Zły typ: ValueNode '%s' nie akceptuje typu '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
-msgstr ""
+msgstr "Zastępczy"
 
 #: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
-msgstr ""
-
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+msgstr "%s:%d zły typ dla %s: potrzebny %s , ale dostaje %s"
+
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
-msgstr ""
+msgstr ":Zły typ"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
-msgstr ""
+msgstr "Jeden lub oba parametry nie są!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
-msgstr ""
+msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
-msgstr ""
+msgstr "Dodaj lewą stronę"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
-msgstr ""
+msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
-msgstr ""
+msgstr "Dodaj prawą stronę"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
-msgstr ""
+msgstr "Wartość skalarna"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
-msgstr ""
+msgstr "Wartość, która mnoży dodatek"
 
 #: src/synfig/valuenode_and.cpp:129
 msgid "AND"
-msgstr ""
+msgstr "I"
 
 #: src/synfig/valuenode_and.cpp:147 src/synfig/valuenode_or.cpp:147
 msgid "Link1"
-msgstr ""
+msgstr "Łącze1"
 
 #: src/synfig/valuenode_and.cpp:148
 msgid "First operand of the AND operation"
-msgstr ""
+msgstr "Pierwszy argument z operacji AND"
 
 #: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
 msgid "Link2"
-msgstr ""
+msgstr "Łącze2"
 
 #: src/synfig/valuenode_and.cpp:153
 msgid "Second operand of the AND operation"
-msgstr ""
+msgstr "Drugi argument z operacji AND"
+
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Wartość do konwersji ciągu"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Szerokość łańcucha"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precyzja"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Liczba miejsc po przecinku"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Zmierza do zera"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr "Gdy zaznaczone, ciąg jest wypełniona zerami z lewej do szerokości"
 
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
-msgstr ""
+msgstr "Punkt nawigacyjny istnieje w tym punkcie czasu"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
-msgstr ""
+msgstr "%s: Nie można użyć %s w animowanym WartośćWęzła"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
-msgstr ""
+msgstr "Animowany"
+
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr "Cosinus kąta"
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr "Y"
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "Sinus kąta"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
-msgstr ""
+msgstr "Brak wpisów na liście"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
-msgstr ""
+msgstr "Nie ma wartości na ret_liście"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
-msgstr ""
+msgstr "Wierzchołek %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
-msgstr ""
+msgstr "Krzywa gdzie styczna jest związana"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
-msgstr ""
+msgstr "Po zaznaczeniu zapętla ilość"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
-msgstr ""
+msgstr "Położenie połączonej stycznej w krzywej (0,1]"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
-msgstr ""
+msgstr "Przesunięcie"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
-msgstr ""
+msgstr "Kąt przesunięcia stycznej"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
-msgstr ""
+msgstr "Skala stycznej"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
-msgstr ""
+msgstr "Stała długość"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
-msgstr ""
+msgstr "Gdy zaznaczone, długość stycznej jest stała"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
-msgstr ""
+msgstr "Gdy zaznaczone, styczna jest na bazie kąta"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:202
 msgid "The spline where the vertex is linked to"
-msgstr ""
+msgstr "Krzywa gdzie wierzchołek jest związany"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:212
 msgid "The position of the linked vertex on the Spline (0,1]"
-msgstr ""
+msgstr "Położenie połączonego wierzchołka w krzywej (0,1]"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:217
 msgid "When checked, the position is Spline length based"
-msgstr ""
+msgstr "Gdy zaznaczone, pozycja jest na bazie kąta"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:207
 msgid "The spline where the width is linked to"
-msgstr ""
+msgstr "Krzywa której szerokość jest związana do "
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:217
 msgid "The position of the linked width on the spline (0,1]"
-msgstr ""
+msgstr "Położenie połączonej szerokości w krzywej (0,1]"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:222
 msgid "Scale of the width"
-msgstr ""
+msgstr "Skala szerokości"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:227
 msgid "When checked, the width is spline length based"
-msgstr ""
+msgstr "Gdy zaznaczone, długość krzywej w oparciu"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr "Opisywana styczna do odwrócenia"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr "Jeśli zaznaczone, odniesienie jest odwrucone "
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr "Kość %d"
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr "Nazwa kości"
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr "Rodzic"
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr "Kość z kości rodzica"
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr "Obracanie początku kości względem kości jego rodzica"
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr "Kąt obracanie względem kości jego rodzica"
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr "Lokalna długość skali"
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr "Skala kości dostosowane do jego długości"
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr "Szerokość kości"
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr "Szerokość kości w oryginale"
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr "Długość skali rekurencyjna"
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr "Skala kości i jej dzieci dostosowana do długości"
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr "Szerokość końcówki"
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr "Szerokość na końcu kości"
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr "Z-Głębokość"
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr "Z-głębokość kości"
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr "Długość ustawień"
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr "Konfiguracja długości kości"
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr "Rdzeń"
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr "Lista wagi kości"
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr "Lista kości używana do obliczania wpływu"
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr "Wartość węzła jest pod wpływem kości"
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr "Połączone kości"
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr "Wartość bazowa"
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr "Dodaj tłumaczenie"
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr "Dodaj obrót"
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr "Krzywa"
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr "Twórz krzywą"
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr "Skala X"
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr "Dodaj do skalowanie w osi X"
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr "Skala Y"
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr "Dodaj do skalowania w osi Y"
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr "Kość używana do działania"
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr "waga"
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr "Wartość względnego wpływu kości"
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Lewa strona porównana"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Prawa strona porównana"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Większy"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Gdy zaznaczone, zwraca true jeśli LHS> RHS"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Równy"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Gdy zaznaczone, zwraca true jeśli LHS = RHS"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Mniej"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Gdy zaznaczone, zwraca true jeśli LHS < RHS"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
-msgstr ""
+msgstr "Zły typ kompozycji"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Czerwony"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
-msgstr ""
+msgstr "Składnik czerwonego zabarwienia"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Zielony"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
-msgstr ""
+msgstr "Składnik zielonego koloru"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Niebieski"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
-msgstr ""
+msgstr "Składnik niebieskiego koloru"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
-msgstr ""
+msgstr "Barwa alfy"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
-msgstr ""
+msgstr "Wierzchołek 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
-msgstr ""
+msgstr "Pierwszy wierzchołek segmentu"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
-msgstr ""
+msgstr "Styczna 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
-msgstr ""
+msgstr "Pierwsza styczna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
-msgstr ""
+msgstr "Wierzchołek 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
-msgstr ""
+msgstr "Drugi wierzchołek segmentu"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
-msgstr ""
+msgstr "Styczna 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
-msgstr ""
+msgstr "Druga styczna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
-msgstr ""
+msgstr "Oś X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
-msgstr ""
+msgstr "Składnik osi X wektora"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
-msgstr ""
+msgstr "Oś Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
-msgstr ""
+msgstr "Składnik osi Y wektora"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
-msgstr ""
+msgstr "Wierzchołek"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
-msgstr ""
+msgstr "Wierzchołek punktów krzywej"
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
-msgstr ""
+msgstr "Szerokość punktu krzywej"
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
-msgstr ""
+msgstr "Definiuje pozycję włączenia i wyłączenia w stosunku do sąsiadów"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
-msgstr ""
+msgstr "Podział"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
-msgstr ""
+msgstr "Po zaznaczeniu styczne są niezależne"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
-msgstr ""
+msgstr "Styczna z pierwszego punktu krzywej"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
-msgstr ""
+msgstr "Druga styczna z punktu krzywej"
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr "Promień szczeliny"
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr "Gdy zaznaczone,  promienie stycznej są niezależna"
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr "Kąt szczeliny"
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr "Gdy zaznaczone, kąt szczeliny jest niezależny"
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
-msgstr ""
+msgstr "[0,1] położenie szerokości punktu nad krzywą"
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
-msgstr ""
+msgstr "Szerokość punktu szerokości"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
-msgstr ""
+msgstr "Typ strony przed"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
-msgstr ""
+msgstr "Określa rodzaj interpolacji szerokości punktu"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
-msgstr ""
+msgstr "Interpolować"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
-msgstr ""
+msgstr "Typ strony po"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
-msgstr ""
+msgstr "Ulubiona granica"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
-msgstr ""
+msgstr "Określa pozycję początku krzywej"
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
-msgstr ""
+msgstr "Górna granica"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
-msgstr ""
+msgstr "Określa pozycję końca krzywej"
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
-msgstr ""
+msgstr "Długość przesunięcia elementu kreska nad krzywą"
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Długość"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
-msgstr ""
+msgstr "Długość elementów kreski"
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
-msgstr ""
+msgstr "Ustawia rodzaj bocznej pozycji rozdzielczej"
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr "Przesunięcie komponentu w transformacji"
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr "Kąt komponentu w transformacji"
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "Kąt skosu"
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr "Kąt skoku komponentu w transformacji"
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr "Skala komponentu w transformacji"
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr "Masa wartości"
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Wartość"
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr "Wartość"
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr "Pierwszy"
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr "Pierwsza wartość"
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr "Drugi"
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr "Druga wartość"
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
-msgstr ""
+msgstr "Wartość do obliczania cosinusa"
 
 #: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
 msgid "Amplitude"
-msgstr ""
+msgstr "Amplituda"
 
 #: src/synfig/valuenode_cos.cpp:161
 msgid "Multiplier of the resulting cosine"
-msgstr ""
+msgstr "Mnożnik powstałego cosinusa"
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr ""
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr "Wartość do obliczania pochodnej"
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr "Interwał"
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr "Odstęp czasu do obliczenia różnic skończonych"
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr "Dokładność"
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr "Dokładność pochodnej"
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr "Szorstki"
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr "dobrze"
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr "Exstremum"
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr "Zamów"
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr "Zamówienie pochodnej"
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr "Pierwsza pochodna"
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr "Druga pochodna"
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr "Pozycja %03d"
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr "Lewa strona iloczynu skalarnego"
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr "Prawa strona iloczynu skalarnego"
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "z"
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
-msgstr ""
+msgstr "Wartość początkowa indeksu"
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
-msgstr ""
+msgstr "do"
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
-msgstr ""
+msgstr "Końcowa wartość indeksu"
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
+msgstr "Ilość przyrostu indeksu"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr "Wskazówka statyczna"
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr "Równowaga wskaźnika pozycji bez sił zewnętrznych"
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr "Fundament systemu dynamicznego"
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr "Siła"
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr "Siła zewnętrzna, stosowane w środku ciężkości masy"
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr "Moment"
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr "Moment zewnętrzny stosowany w środku bezwładności"
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr "Współczynnik tłumienia"
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr "Promieniowy współczynnik tłumienia dynamicznego układu"
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr "Współczynnik tarcia"
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr "Współczynnik obrotowy tarcia układu dynamicznego"
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr "Współczynnik sprężystości"
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr "Współczynnik skręcania"
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr "Współczynnik skręcania układu dynamicznego"
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr "Masa"
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr "Masa dynamicznego systemu"
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr "Moment bezwładności"
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr "Moment bezwładności układu dynamicznego"
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr "Sztywna sprężyna"
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr "Gdy zaznaczone, liniowa sprężyna jest sztywna"
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr "Skręcanie sztywne"
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr "Gdy zaznaczone, skręcona sprężyna jest sztywna"
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr "Początek ciągnie koniec"
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+"Jeśli zaznaczone, wynik jest sumą początku + końce, inaczej tylko wierzchołek"
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
-msgstr ""
+msgstr "Pozycja %03d"
 
 #: src/synfig/valuenode_exp.cpp:150
 msgid "Exponent"
-msgstr ""
+msgstr "Wykładnik potęgi"
 
 #: src/synfig/valuenode_exp.cpp:151
 msgid "The value to raise the constant 'e'"
-msgstr ""
+msgstr "Wartości, aby podnieść stałą 'e'"
 
 #: src/synfig/valuenode_exp.cpp:156
 msgid "Multiplier of the resulting exponent"
-msgstr ""
+msgstr "Mnożnik powstałego wykładnika"
+
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr "Gradient, gdzie kolor jest pobierany z"
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr "Pozycja barwy w gradiencie stężeń (0,1]"
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr "Gdy zaznaczone, wskaźnik pętli"
 
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
-msgstr ""
+msgstr "Obróć źródło gradientu "
 
 #: src/synfig/valuenode_gradientrotate.cpp:170
 msgid "The amount to offset the gradient"
-msgstr ""
+msgstr "Wartość do wyrównania gradientu"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr "Wartość szarości"
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
-msgstr ""
+msgstr "Wartość liczby całkowitej zostanie zmieniona"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr "całkowite"
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
-msgstr ""
+msgstr "Ciągi"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
-msgstr ""
+msgstr "Lista ciągów do przyłączenia"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
-msgstr ""
+msgstr "Przed"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
-msgstr ""
+msgstr "Ciąg do umieszczenia przed przyłączonym ciągiem"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
-msgstr ""
+msgstr "Separator"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
-msgstr ""
+msgstr "Ciąg do umieszczenia pomiędzy każdym przyłączonym ciągiem"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
-msgstr ""
+msgstr "po"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
-msgstr ""
+msgstr "Ciąg do umieszczenia po przyłączonym ciągiu"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
-msgstr ""
+msgstr "tempo"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
-msgstr ""
+msgstr "Wartość jest mnożona w bieżącym czasie (w sekundach)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
-msgstr ""
+msgstr "nachylenie"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
-msgstr ""
+msgstr "Wartość zwracana, gdy aktualny czas jest zero"
+
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr "Wartość źródłowa stosowana do obliczania logarytmu Neperian"
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr "Wartość użyta do porównania 'linku' od zera"
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Nieskończony"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Wartość zwracana, gdy wynik wydaje się nieskończony"
 
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
-msgstr ""
+msgstr "NIE"
 
 #: src/synfig/valuenode_not.cpp:142
 msgid "Value node used to do the NOT operation"
-msgstr ""
+msgstr "Wartość źródłowa stosowana do operacji NOT"
 
 #: src/synfig/valuenode_or.cpp:129
 msgid "OR"
-msgstr ""
+msgstr "LUB"
 
 #: src/synfig/valuenode_or.cpp:148 src/synfig/valuenode_or.cpp:153
 msgid "Value node used for the OR boolean operation"
-msgstr ""
+msgstr "Wartość źródłowa stosowana do operacji logicznej OR"
 
 #: src/synfig/valuenode_pow.cpp:180
 msgid "Base"
-msgstr ""
+msgstr "Podstawa"
 
 #: src/synfig/valuenode_pow.cpp:181
 msgid "The base to be raised to the power"
-msgstr ""
+msgstr "Podstawa podniesiona do potęgi"
 
 #: src/synfig/valuenode_pow.cpp:186
 msgid "The power used to raise the base"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:191
-msgid "Value used to compare base or power with zero "
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
+msgstr "Moc używana do podniesienia bazy"
 
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_pow.cpp:191
+msgid "Value used to compare base or power with zero "
+msgstr "Wartość użyta do porównania bazy między zerem a maksimum"
+
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
-msgstr ""
+msgstr "Zły typ dla kompozycji promieniowej"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Luma"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
-msgstr ""
+msgstr "Długość wektora"
 
 #: src/synfig/valuenode_radialcomposite.cpp:276
 msgid "Theta"
-msgstr ""
+msgstr "Theta"
 
 #: src/synfig/valuenode_radialcomposite.cpp:277
 msgid "The angle of the vector with the X axis"
-msgstr ""
+msgstr "Kąt wektora z osią X"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
-msgstr ""
+msgstr "Niektórych z moich parametrów nie ma!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
-msgstr ""
+msgstr "Minimum"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
-msgstr ""
+msgstr "Wartość zwracana, gdy 'Link' jest mniejszy"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
-msgstr ""
+msgstr "Maksimum"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
-msgstr ""
+msgstr "Wartość zwracana, gdy 'Link' jest większy"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
-msgstr ""
+msgstr "Ogranicz zakres wartości węzła "
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
+msgstr "Prawdziwa wartość do konwersji"
 
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
-msgstr ""
+msgstr "Wartość źródłowa stosowana do obliczania jego odwrotności"
 
 #: src/synfig/valuenode_reciprocal.cpp:171
 msgid ""
 "The value used to decide whether 'Link' is too small to obtain its reciprocal"
 msgstr ""
+"Wartość używana do zdecydować, czy \"link\" jest zbyt mały, aby uzyskać jego "
+"odwrotność"
 
 #: src/synfig/valuenode_reciprocal.cpp:176
 msgid "The resulting value when 'Link' < 'Epsilon'"
-msgstr ""
+msgstr "Otrzymaną wartość kiedy 'Link' < 'Epsilon'"
 
 #: src/synfig/valuenode_reference.cpp:144
 msgid "The referenced value"
-msgstr ""
+msgstr "Wartość odniesienia"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:204
 msgid "The source gradient to repeat"
-msgstr ""
+msgstr "Powtórz źrudło gradientu"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:208
 msgid "Count"
-msgstr ""
+msgstr "Zlicz"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:209
 msgid "The number of repetition of the gradient"
-msgstr ""
+msgstr "Liczba powtórzeń gradientu"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
+"Określa, jak bardzo stronniczy jest gradient źródłowy w powtarzaniu [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
-msgstr ""
+msgstr "Określ początek"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:219
 msgid ""
 "When checked, 'Start Color' is used as the start of the resulting gradient"
 msgstr ""
+"Zaznaczenie 'start kolor' jest stosowane jako początek powstałego gradientu"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:223
 msgid "Specify End"
-msgstr ""
+msgstr "Określ koniec"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:224
 msgid ""
 "When checked, 'End Color' is used as the start of the resulting gradient"
 msgstr ""
+"Zaznaczenie 'Koniec koloru' jest stosowane jako początek powstałego gradientu"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:228
 msgid "Start Color"
-msgstr ""
+msgstr "Kolor startowy"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:229
 msgid "Used as the start of the resulting gradient"
-msgstr ""
+msgstr "Używany jako początek otrzymanego gradientu"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:233
 msgid "End Color"
-msgstr ""
+msgstr "Kolor końcowy"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:234
 msgid "Used as the end of the resulting gradient"
-msgstr ""
+msgstr "Używany jako koniec otrzymanego gradientu"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
-msgstr ""
+msgstr "Próbuje uzyskać odwrotność nie odwracalnej wartości źródłowej "
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
-msgstr ""
+msgstr "Wartość źródłowa stosowana do skali"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
-msgstr ""
+msgstr "Wartość, która mnoży wartość węzła"
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Odcinek"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
-msgstr ""
+msgstr "Odcinek gdzie styczna jest związana"
 
 #: src/synfig/valuenode_segcalctangent.cpp:162
 msgid "The position of the linked tangent on the Segment (0,1]"
-msgstr ""
+msgstr "Położenie połączonej stycznej w segmencie (0,1]"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:155
 msgid "The Segment where the vertex is linked to"
-msgstr ""
+msgstr "Segment gdzie wierzchołek jest związany z"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:160
 msgid "The position of the linked vertex on the Segment (0,1]"
-msgstr ""
+msgstr "Położenie wierzchołka połączone w segmencie (0,1]"
 
 #: src/synfig/valuenode_sine.cpp:155
 msgid "The angle where the sine is calculated from"
-msgstr ""
+msgstr "Kąt gdzie sinus jest obliczany z "
 
 #: src/synfig/valuenode_sine.cpp:160
 msgid "The value that multiplies the resulting sine"
-msgstr ""
+msgstr "Wartość, która mnoży sinus wynikowy"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
-msgstr ""
+msgstr "Wartość źródłowa stosowana do następnego kroku"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
-msgstr ""
+msgstr "Czas trwania etapu"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
-msgstr ""
+msgstr "Czas startu"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
-msgstr ""
+msgstr "Czas, kiedy rozpoczyna się etap konwersji"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
-msgstr ""
+msgstr "Punkt przecięcia"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
-msgstr ""
+msgstr "Wartość, która określa, czy etap koncentruje się na wartości [0,1]"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr ""
+msgstr "Kolor 1"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
-msgstr ""
+msgstr "Jeden kolor z gradientu paskowego"
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr ""
+msgstr "Kolor 2"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
-msgstr ""
+msgstr "Inny kolor z gradientu paskowego"
 
 #: src/synfig/valuenode_stripes.cpp:199
 msgid "Stripe Count"
-msgstr ""
+msgstr "Suma pasków"
 
 #: src/synfig/valuenode_stripes.cpp:200
 msgid "Number of stripes in the gradient"
-msgstr ""
+msgstr "Ilość pasów w gradiencie"
 
 #: src/synfig/valuenode_stripes.cpp:205
 msgid "Width of stripes in the gradient between [0,1]"
-msgstr ""
+msgstr "Szerokość pasów w gradiencie między [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
-msgstr ""
+msgstr "Lewa strona odejmowania"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
-msgstr ""
+msgstr "Prawa strona odejmowania"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
-msgstr ""
+msgstr "Wartość, która mnoży odejmowanie"
 
 #: src/synfig/valuenode_switch.cpp:153
 msgid "Link Off"
-msgstr ""
+msgstr "Link wyłączony"
 
 #: src/synfig/valuenode_switch.cpp:154
 msgid "The value node returned when the switch is off"
-msgstr ""
+msgstr "Wartość węzła zostanie zwrócona kiedy przełączysz na off "
 
 #: src/synfig/valuenode_switch.cpp:158
 msgid "Link On"
-msgstr ""
+msgstr "Link włączony"
 
 #: src/synfig/valuenode_switch.cpp:159
 msgid "The value node returned when the switch is on"
-msgstr ""
+msgstr "Wartość węzła zostanie zwrócona kiedy przełączysz na on"
 
 #: src/synfig/valuenode_switch.cpp:164
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
+"Gdy zaznaczone, zwraca 'link włączony\", w przeciwnym wypadku zwraca' link "
+"wyłączony\""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Czas"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4115,573 +4695,561 @@ msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:175
 msgid "The value node to time loop"
-msgstr ""
+msgstr "Wartość węzła w pętli czasu"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr "Długość pętli"
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
 #: src/synfig/valuenode_twotone.cpp:154
 msgid "The start color of the gradient"
-msgstr ""
+msgstr "Kolor początkowy gradientu"
 
 #: src/synfig/valuenode_twotone.cpp:159
 msgid "The end color of the gradient"
-msgstr ""
+msgstr "Kolor końcowy gradientu"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Wektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
-msgstr ""
+msgstr "Wektor gdzie kąt jest obliczany z"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
-msgstr ""
+msgstr "Wektor w którym długość jest obliczana z"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
-msgstr ""
+msgstr "Wektor gdzie współrzędna X ekstrahuje się z"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
-msgstr ""
+msgstr "Wektor gdzie współrzędna Y ekstrahuje się z"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr "Średnia ważona"
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr "ważony"
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
-msgstr ""
+msgstr "BŁĄD: Niezgodność wersji Synfig"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Ustawienia"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
-msgstr ""
+msgstr "Określić wyjściowy format (domyślnie: PNG)"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
-msgstr ""
+msgstr "Ustaw szerokość obrazu w pikselach (domyślnie zero dla pliku)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
-msgstr ""
+msgstr "Ustaw wysokość obrazu w pikselach (domyślnie zero dla pliku)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
-msgstr ""
+msgstr "Ustaw przekątną okna obrazu (rozpiętość)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
-msgstr ""
+msgstr "Ustaw ilość wygładzania dla parametrów renderowania"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
+"Określić jakość obrazu dla przyspieszonego renderowania (Domyślnie: %d)"
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
-msgstr ""
+msgstr "Włącz wielowątkowe renderowania przy użyciu określonej liczby wątków"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
-msgstr ""
+msgstr "Określ nazwę pliku wejściowego"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr ""
+msgstr "Określ nazwę pliku wyjściowego"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr ""
+msgstr "Ustaw klatki na sekundę"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
-msgstr ""
+msgstr "Renderowanie jednej klatki w <seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
-msgstr ""
+msgstr "Ustaw czas startu"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr ""
+msgstr "Ustaw czas końca"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Ustaw rozdzielczość fizyczną (punktów na cal)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Ustaw fizyczną rozdzielczość X (punktów na cal)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Ustaw fizyczną rozdzielczość Y (punktów na cal)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
-msgstr ""
+msgstr "Przełącznik opcji"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
-msgstr ""
+msgstr "Tryb cichy (bez postępu / wyświetla pozostały czas)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
-msgstr ""
+msgstr "Drukuj benchmarki"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
-msgstr ""
+msgstr "Różne opcje"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
-msgstr ""
+msgstr "Dołącz warstwy <filename> do kompozycji"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
-msgstr ""
+msgstr "Drukuj listę eksportowanych obszarów roboczych w kompozycji"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
-msgstr ""
+msgstr "FFMPEG opcje docelowe"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
-msgstr ""
+msgstr "Ustaw kodek dla filmu. Zobacz --ffmpeg-Video-kodeki"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
-msgstr ""
+msgstr "Ustawić szybkość transmisji dla wyjścia wideo"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
-msgstr ""
+msgstr "Opcje informacyjne Synfig"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
-msgstr ""
+msgstr "Przygotowany komunikat pomocy"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr ""
+msgstr "Drukuj listę dostępnych importów"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
-msgstr ""
+msgstr "Drukuj różne zgromadzone informacje"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr ""
+msgstr "Drukuj listę dostępnych warstw"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr ""
+msgstr "Drukuj opis warstwy, parametry informacyjne, itp"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr ""
+msgstr "Drukuj informacje o licencji"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr ""
+msgstr "Drukuj listę załadowanych modułów"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr ""
+msgstr "Drukuj listę dostępnych cełów"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
-msgstr ""
+msgstr "Drukuj listę dostępnych kodeków poprzez FFMPEG podczas kodowania"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
-msgstr ""
+msgstr "Drukuj listę dostępnych wartości węzłów"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr ""
+msgstr "Drukuj informację o wersji"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
-msgstr ""
+msgstr "Flagi debagera Synfig"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
-msgstr ""
+msgstr "Test generacji GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
+msgstr "Test zaimplementowanego sygnału"
+
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nie ma nic do zrobienia!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Próba określenia cel/plik_wyjściowy"
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Domyślny format PNG"
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
-msgstr ""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
+msgstr "Nie można utworzyć wyjścia dla\"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Wyrzuć pracę..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Tworzenie celu..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
-msgstr ""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
+msgstr "Nieznany cel dla \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Ustawienie jakości celu..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
-msgstr ""
+msgstr "Błąd renderowania"
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Renderowanie..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr "sekundy."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Gotowe"
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Rozpoznane zmienne:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
-msgstr ""
+msgstr "Nazwa warstwy:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Zlokalizowana nazwa warstwy:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "Wersja:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
-msgstr ""
+msgstr "parametr -"
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
-msgstr ""
+msgstr "(nie krytyczne)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
-msgstr ""
+msgstr "⇥Zlokalizowana nazwa:"
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "⇥Opis:"
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "⇥Podpowiedź:"
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Ustaw antyaliasing na %d, (%d próbek na piksel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Rozpiętość ustawiona na %d jednostek"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Szybkość klatki ustawiona na %d klatek na sekundę"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Rozdzielczość fizyczna ustawiona na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Rozdzielczość fizyczna X ustawiona na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Rozdzielczość fizyczna Y ustawiona na %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Renderowanie klatki w"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
-msgstr ""
+msgstr "Argument Gamma jest obecnie ignorowany"
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
-msgstr ""
+msgstr "Oba parametry kodeka wideo i bitrate są konieczne."
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
-msgstr ""
+msgstr "Wideo kodek \"%s\" nie jest wspierany"
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
-msgstr ""
+msgstr "Nie ustawiono pliku wejściowego."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
-msgstr ""
+msgstr "Cel ustawiony na"
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Jakość ustawiona na"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Nie można dodać '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Dołącza zawartość "
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Koniec czasu"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Szybkość klatek"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Klatka startowa"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Klatka końcowa"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Współczynnik kształtu obrazu"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Szerokość w pikselach"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Wysokość w pikselach"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Proporcja w pikselach"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Górny lewy"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Dolny prawy"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Szerokość fizyczna"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Wysokość fizyczna"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Rozdzielczość X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Rozdzielczość Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Przekątna obrazu"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Przeplot"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Wygładzanie"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Flagi"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Fokus"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Kolor tła"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Metadane"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index ebaae84..10d0105 100644
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 213d216..8623eaf 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,24 +1,26 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# andersonfobr <emailregister2004-mm at yahoo.com.br>, 2013
-# andersonfobr <emailregister2004-mm at yahoo.com.br>, 2013
+# Adriano Araújo Duarte <dhryko at hotmail.com>, 2013-2015
+# Andy Oliver <emailregister2004-mm at yahoo.com.br>, 2013
+# Andy Oliver <emailregister2004-mm at yahoo.com.br>, 2013
+# Conservador Ressurge, 2014
 # gamont <gamontbr at gmail.com>, 2011
 # gamont <gamontbr at gmail.com>, 2011
 # gamont <gamontbr at gmail.com>, 2011
 # hbarone <henrique.blender at gmail.com>, 2011
 # hbarone <henrique.blender at gmail.com>, 2011
-# Ricardo Graça <ricolandia at gmail.com>, 2011
+# Ricardo Graça <ricolandia at gmail.com>, 2011,2015
 # rodolforg <rodolforg at gmail.com>, 2013
 # rodolforg <rodolforg at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
 "synfig/language/pt_BR/)\n"
@@ -28,184 +30,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Retângulo preenchido"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Exemplo"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Cor"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Cor de preenchimento da camada"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Ponto 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Primeiro canto do retângulo"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Ponto 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Segundo canto do retângulo"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Suavizar X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Suavizar Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Chanfro"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Usar chanfro nos cantos"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Manter chanfro circular"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Quando marcado, o chanfro é circular"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradiente"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Bolas"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radios"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Pesos"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradiente Esquerda"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradiente Direito"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Positivo apenas"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Círculo Simples"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centro"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centro do círculo"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Raio"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Este é o raio do círculo"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Outro"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Camada de texto"
+msgstr "Camada de Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "Não é possível inicializar"
+msgstr "não é possível inicializar"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
-msgstr "Conjunto de fonte vazio"
+msgstr "conjunto de fonte vazio"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
-msgstr "Renderizar texto"
+msgstr "Texto a Renderizar"
+
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Cor"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
@@ -213,7 +77,7 @@ msgstr "Cor do texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr "Família de fonte"
+msgstr "Família de Fonte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
@@ -221,6 +85,7 @@ msgstr "Estilo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -233,6 +98,7 @@ msgid "Italic"
 msgstr "Itálico"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Peso"
 
@@ -250,7 +116,7 @@ msgstr "Negrito"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr "Ultra-negrito"
+msgstr "Ultranegrito"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
@@ -258,11 +124,11 @@ msgstr "Pesado"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr "Espaçamento horizontal"
+msgstr "Espaçamento Horizontal"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
-msgstr "Descreve a proximidade dos glifos horizontais"
+msgstr "Descreve o quão próximos os glifos são, horizontalmente"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
@@ -270,11 +136,11 @@ msgstr "Espaçamento Vertical"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
-msgstr "Descreve a proximidade das linhas de texto são verticais"
+msgstr "Descreve o quão próximas as linhas de texto são, verticalmente"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -294,16 +160,17 @@ msgid "Text Orientation"
 msgstr "Orientação do Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origem"
 
@@ -317,127 +184,132 @@ msgstr "Fonte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr "Nome do arquivo da fonte a ser usada"
+msgstr "Nome de arquivo da fonte a usar"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
-msgstr "Kerning"
+msgstr "Espaçamento"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
-msgstr "Ativa / Desativa o kerning da fonte (se a fonte suporta)"
+msgstr "Ativa/Desativa o espaçamento de fonte (se suportado)"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
-msgstr "Realçar bordas"
+msgstr "Realçar Bordas"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Desligue isto se você estiver animando o texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Inverter"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
-msgstr "Nenhuma face carregada, nenhum texto será processado."
+msgstr "Nenhuma face carregada, nenhum texto será renderizado."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
-msgstr "Texto muito pequeno, nenhum texto será processado."
+msgstr "Texto muito pequeno, nenhum texto será renderizado."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Não é possível definir o tamanho da face."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
-msgstr "Sequência multibyte inválida - local está definido?\n"
+msgstr "Sequência multibyte inválida - a localização está definida?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
-msgstr "Não é possível analisar caracteres multibyte.\n"
+msgstr "Não se pode analisar caracteres multibyte.\n"
+
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Bisel"
 
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Estilizar"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
-msgstr "Tipo de desfoque para usar"
+msgstr "Tipo de desfoque a usar"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
-msgstr "Desfoque de caixa"
+msgstr "Desfoque de Caixa"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
-msgstr "Desfoque Gaussiano rápido"
+msgstr "Desfoque Gaussiano Rápido"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
-msgstr "Desfoque Cross-Hatch"
+msgstr "Desfoque Hachurado"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Desfoque Gaussiano"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
-msgstr "Desfoque em disco"
+msgstr "Desfoque em Disco"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
-msgstr "Hi-Color"
+msgstr "Cor Elevada"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
-msgstr "Lo-Color"
+msgstr "Cor Baixa"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
-msgstr "Ângulo de lux"
+msgstr "Ângulo de Luz"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
-msgstr "Profundidade do Chanfro"
+msgstr "Profundidade do Bisel"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Suavidade"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr "Use Luma"
+msgstr "Usar Luminância"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Sólido"
 
 #: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
-msgstr "Região definida"
+msgstr "Conjunto de Região"
 
 #: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Conjunto de regiões a combinar"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Braçadeira"
 
@@ -454,11 +326,11 @@ msgstr "Inverter Negativo"
 
 #: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
-msgstr "Braçadeira de teto"
+msgstr "Fixar Teto"
 
 #: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
-msgstr "Quando verificado o valor do teto é usado"
+msgstr "Quando marcada, o valor do Teto é usado"
 
 #: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
@@ -470,52 +342,117 @@ msgstr "Limite superior da fixação"
 
 #: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
-msgstr "Pavimento"
+msgstr "Piso"
 
 #: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
-msgstr "Limite inferior da braçadeira"
+msgstr "Limite inferior da fixação"
+
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Curva de Dobra"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distorções"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Posição da linha Spline de destino"
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Largura"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "O quanto o resultado é expandido perpendicularmente à linha de origem"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Ponto Inicial"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Primeiro ponto da linha de origem"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Ponto Final"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Ponto final da linha de origem"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vértices"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Lista de Pontos de Spline pelos quais a linha é curvada"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Rápido"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Quando marcada, processa rapidamente mas com artefatos"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
-msgstr "Importar imagem"
+msgstr "Importar Imagem"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr "Nome do arquivo parece já estar definido como \"%s\" (%s)"
+msgstr "Nome do arquivo parece já estar definido para \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
-msgstr "Nome do arquivo"
+msgstr "Nome de arquivo"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
-msgstr "Arquivo para importar"
+msgstr "Arquivo a importar"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
-msgstr "Deslocar tempo"
+msgstr "Deslocamento de Tempo"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
-msgstr "Tempo de deslocamento para aplicar o arquivo importado"
+msgstr "Deslocamento de Tempo a aplicar ao arquivo importado"
 
 #: src/modules/lyr_std/insideout.cpp:55
 msgid "Inside Out"
-msgstr "De dentro para fora"
-
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distorções"
+msgstr "De Dentro para Fora"
 
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Define onde o centro será"
+msgid "Defines where the center will be"
+msgstr "Define onde o centro estará"
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -527,7 +464,7 @@ msgstr "Fractais"
 
 #: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
-msgstr "Cor de dentro"
+msgstr "Cor interna"
 
 #: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
@@ -535,15 +472,15 @@ msgstr "Cor do Conjunto"
 
 #: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr "Cor de fora"
+msgstr "Cor externa"
 
 #: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
-msgstr "Cor fora do conjunto"
+msgstr "Cor externa do Conjunto"
 
 #: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
-msgstr "Mudança de cor"
+msgstr "Mudança de Cor"
 
 #: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
@@ -551,28 +488,28 @@ msgstr "Iterações"
 
 #: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
-msgstr "Ponto de origem"
+msgstr "Ponto Semente"
 
 #: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
-msgstr "Bailout ValorBase"
+msgstr "Afiançar Base de Valor"
 
 #: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
-msgstr "Distorcer interior"
+msgstr "Distorcer Interior"
 
 #: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
-msgstr "Sombra interior"
+msgstr "Sombrear Interior"
 
 #: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
-msgstr "Sólido interior"
+msgstr "Sólido Interior"
 
 #: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
-msgstr "Inverter interior"
+msgstr "Inverter Interior"
 
 #: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
@@ -581,31 +518,31 @@ msgstr "Cor Interior"
 #: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
-msgstr "Distorcer exterior"
+msgstr "Distorcer Exterior"
 
 #: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
-msgstr "Sombrear exterior"
+msgstr "Sombrear Exterior"
 
 #: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
-msgstr "Exterior sólido"
+msgstr "Sólido Exterior"
 
 #: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
-msgstr "Inverter exterior"
+msgstr "Inverter Exterior"
 
 #: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
-msgstr "Cor exterior"
+msgstr "Cor Exterior"
 
 #: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
-msgstr "Ciclo de cor"
+msgstr "Ciclo de Cor"
 
 #: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
-msgstr "Suavizar exterior"
+msgstr "Suavizar Exterior"
 
 #: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
@@ -613,11 +550,11 @@ msgstr "Suavizar a coloração exterior do conjunto"
 
 #: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
-msgstr "Quebrar conjunto"
+msgstr "Quebrar Conjunto"
 
 #: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
-msgstr "Modificar equação para obter resultados interessantes"
+msgstr "Modifica a equação para obter resultados interessantes"
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
@@ -635,15 +572,15 @@ msgstr "Interior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
-msgstr "Gradiente interior"
+msgstr "Gradiente Interior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
-msgstr "Deslocamento interior"
+msgstr "Deslocamento Interior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
-msgstr "Loop interior"
+msgstr "Laço Interior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
@@ -662,15 +599,15 @@ msgstr "Gradiente exterior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
-msgstr "Deslocamento exterior"
+msgstr "Deslocamento Exterior"
 
 #: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
-msgstr "Escala exterior"
+msgstr "Escala Exterior"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
-msgstr "Girar"
+msgstr "Rotacionar"
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
@@ -679,15 +616,14 @@ msgstr "Transformar"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Aponte onde deseja que a origem seja"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -703,7 +639,7 @@ msgstr "Quantidade de rotação"
 msgid "Shade"
 msgstr "Sombra"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Tamanho da Sombra"
 
@@ -713,13 +649,24 @@ msgid "Spherize"
 msgstr "Esferizar"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Posição"
 
 #: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
-msgstr "Onde a distorção da esfera está centrada"
+msgstr "Onde a distorção da esfera está centralizada"
+
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Raio"
 
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
@@ -731,15 +678,15 @@ msgstr "A intensidade de distorção (valores negativos invertem efeito)"
 
 #: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
-msgstr "Clip"
+msgstr "Clipe"
 
 #: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
-msgstr "Quando marcado, a área fora do raio não será distorcida"
+msgstr "Quando marcada, a área fora do Raio não é distorcida"
 
 #: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
-msgstr "Tipo de distorção"
+msgstr "Tipo de Distorção"
 
 #: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
@@ -747,11 +694,11 @@ msgstr "A direção da distorção"
 
 #: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
-msgstr "Bara vertical"
+msgstr "Barra Vertical"
 
 #: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
-msgstr "Barra horizontal"
+msgstr "Barra Horizontal"
 
 #: src/modules/lyr_std/stretch.cpp:57
 msgid "Stretch"
@@ -759,15 +706,23 @@ msgstr "Esticar"
 
 #: src/modules/lyr_std/stretch.cpp:106
 msgid "Size of the stretch relative to its Center"
-msgstr "Tamanho do esticado relativo ao centro"
+msgstr "Tamanho do esticamento relativo ao seu Centro"
+
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centro"
 
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
-msgstr "Quando a distorção do esticado está centrado"
+msgstr "Onde a distorção do esticado é centralizada"
 
 #: src/modules/lyr_std/stroboscope.cpp:60
 msgid "Stroboscope"
-msgstr "Stroboscópico"
+msgstr "Estroboscópio"
 
 #: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
@@ -775,102 +730,91 @@ msgstr "Frequência"
 
 #: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
-msgstr "A freqüência do estroboscópio em vezes por segundo"
+msgstr "A frequência do estroboscópio em vezes por segundo"
 
 #: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Amostra"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
-msgstr "Não é possível criar SurfaceTarget"
+msgstr "Não é possível criar Destino de Superfície"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Largura"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Largura da área de amostra (em pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Altura"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Altura da área de amostra (em pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
-msgstr "Usar paramétrico"
+msgstr "Usar Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
-msgstr "Usar o processamento paramétrico"
+msgstr "Usar o Renderizador Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
-msgstr "Seja Alfa seguro"
+msgstr "Ser Alfa Seguro"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
-msgstr "Evite artefatos alfa, quando verificada"
+msgstr "Evita artefatos alfa, quando marcada"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
-msgstr "Time Loop"
+msgstr "Laço de Tempo"
 
 #: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
-msgstr "Link Time"
+msgstr "Vínculo de Tempo"
 
 #: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
-msgstr "Hora de início do ciclo para o contexto de um ciclo"
+msgstr "Tempo de início do laço para o contexto ciclado"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
-msgstr "O tempo local"
+msgstr "Tempo Local"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
-msgstr "O tempo quando o resultado de laço começa"
+msgstr "O tempo quando o laço resultante começa"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duração"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
-msgstr "Comprimento do loop"
+msgstr "Comprimento do laço"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
-msgstr "Apenas para duração positiva"
+msgstr "Apenas para Duração Positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
-msgstr "Quando selecionado irá percorrer apenas durações positivas"
+msgstr "Quando marcada, realizará o laço apenas em durações positivas"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Simétrico"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
-msgstr "Quando marcado, os loops são espelhados centrados em tempo local"
+msgstr "Quando marcado, os laços são espelhados, centralizados no Tempo Local"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Mover"
 
@@ -878,6 +822,19 @@ msgstr "Mover"
 msgid "Twirl"
 msgstr "Rodopio"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centro do círculo"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Este é o raio do círculo"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotações"
@@ -900,51 +857,51 @@ msgstr "Empenar"
 
 #: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
-msgstr "Fonte TL"
+msgstr "SE da Fonte"
 
 #: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
-msgstr "Canto superior esquerdo da fonte para empenar"
+msgstr "Canto Superior Esquerdo da fonte a empenar"
 
 #: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
-msgstr "Fonte BR"
+msgstr "ID da Fonte"
 
 #: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
-msgstr "O canto inferior direito da fonte para empenar"
+msgstr "O canto Inferior Direito da fonte a empenar"
 
 #: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
-msgstr "Dest TL"
+msgstr "SE do Destino"
 
 #: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
-msgstr "No canto superior esquerdo do destino"
+msgstr "Canto Superior Esquerdo do destino"
 
 #: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
-msgstr "Dest TR"
+msgstr "SD do Destino"
 
 #: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
-msgstr "Canto superior direito do destino"
+msgstr "Canto Superior Direito do destino"
 
 #: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
-msgstr "Dest BR"
+msgstr "ID do Destino"
 
 #: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
-msgstr "O canto inferior direito do destino"
+msgstr "O canto Inferior Direito do destino"
 
 #: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
-msgstr "Dest BL"
+msgstr "IE do Destino"
 
 #: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
-msgstr "Canto inferior esquerdo do destino"
+msgstr "O canto Inferior Esquerdo do destino"
 
 #: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
@@ -952,63 +909,11 @@ msgstr "Horizonte"
 
 #: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
-msgstr "Altura que determina o horizonte de perspectivas"
+msgstr "Altura que determina o horizonte nas perspectivas"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Curva de empenamento"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Quanto é ampliado o resultado perpendicular à linha de origem"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Ponto de partida"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Primeiro ponto da linha de origem"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Ponto Final"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "ponto final da linha de origem"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vértices"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Rápido"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "Quando marcada, processa rapidamente, mas com os artefatos"
-
-#: src/modules/lyr_std/xorpattern.cpp:55
-msgid "XOR Pattern"
-msgstr "XOR Padrão"
+#: src/modules/lyr_std/xorpattern.cpp:55
+msgid "XOR Pattern"
+msgstr "Padrão XOR"
 
 #: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
@@ -1018,76 +923,78 @@ msgstr "Centro do padrão"
 msgid "Size of the pattern"
 msgstr "Tamanho do padrão"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "Escala"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
-msgstr ""
+msgstr "Quantidade a escalar para"
 
 #: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
-msgstr ""
+msgstr "Ponto a escalar de"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
-msgstr "Impossível abrir %s"
+msgstr "Não é possível abrir %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s não está no formato BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
+msgstr "Falha ao ler BITMAP::FILEHEADER de %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr ""
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
+msgstr "Falha ao ler BITMAP::INFOHEADER de %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr ""
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr "BITMAP::FILEHEADER inválido em %s. (bfOffsetBits=%d, deveria ser %d)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr ""
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
+msgstr "BITMAP::INFOHEADER inválido em %s. (biSize=%d, deveria ser %d)"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Leitura de bitmaps compactados não é suportado"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
-msgstr "profundidade de bits sem suporte (BIT_COUNT=%d, deve ser 24 ou 32)"
+msgstr ""
+"Profundidade de bits não suportada (BIT_COUNT=%d, deveria ser 24 ou 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
-msgstr "(Animado)"
+msgstr "(animado)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr "Impossível abrir o arquivo"
+msgstr "Não é possível abrir o arquivo"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
-msgstr "Não é possível gravar cabeçalho do arquivo para o arquivo"
+msgstr "Não é possível gravar cabeçalho de arquivo para o arquivo"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
-msgstr "Não é possível gravar informações de cabeçalho"
+msgstr "Não é possível gravar cabeçalho de informações"
 
 #: src/modules/mod_dv/trgt_dv.cpp:164 src/modules/mod_dv/trgt_dv.cpp:173
 #: src/modules/mod_dv/trgt_dv.cpp:180 src/modules/mod_dv/trgt_dv.cpp:190
@@ -1095,60 +1002,164 @@ msgstr "Não é possível gravar informações de cabeçalho"
 #: src/modules/mod_dv/trgt_dv.cpp:207 src/modules/mod_dv/trgt_dv.cpp:216
 #: src/modules/mod_dv/trgt_dv.cpp:225
 msgid "Unable to open pipe to encodedv"
-msgstr "Não foi possível abrir pipe para encodedv"
+msgstr "Não é possível abrir pipe para encodedv"
+
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Retângulo Preenchido"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Exemplo"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Cor de preenchimento da camada"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Ponto 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Primeiro canto do retângulo"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Ponto 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Segundo canto do retângulo"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Esmaecer X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Esmaecer Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Usar Bisel nos cantos"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Manter bisel circular"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Quando marcado, o bisel é circular"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradiente"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Bolas"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Raios"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Pesos"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradiente Esquerdo"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradiente Direito"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Apenas Positivo"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Círculo Simples"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
+"Erro: Nenhum binário FFmpeg encontrado.\n"
+"\n"
+"Por favor, instale \"ffmpeg\" ou \"avconv\" (pacote libav-tools)."
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Não foi possível abrir pipe para o ffmpeg"
+msgstr "Não é possível abrir pipe para ffmpeg (nenhum pipe)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Não foi possível abrir pipe para o ffmpeg"
+msgstr "Não é possível abrir pipe para ffmpeg (pid == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Não foi possível abrir pipe para o ffmpeg"
+msgstr ""
+"Não é possível abrir pipe para ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Não foi possível abrir pipe para o ffmpeg"
+msgstr "Não é possível abrir pipe para ffmpeg (exec falhou)"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Não foi possível abrir pipe para o ffmpeg"
+msgstr "Não é possível abrir pipe para ffmpeg (nenhum arquivo)"
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
-msgstr "Desfoque"
+msgstr "Desfocar"
 
 #: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Desfoques"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
-msgstr "Tamanho do desfoque"
+msgstr "Tamanho do Desfoque"
 
 #: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
-msgstr "Correção de cor"
+msgstr "Correção de Cor"
 
 #: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
-msgstr "Ajuste de matiz"
+msgstr "Ajuste de Matiz"
 
 #: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
@@ -1160,23 +1171,23 @@ msgstr "Contraste"
 
 #: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
-msgstr "Exposição Ajuste"
+msgstr "Ajuste de Exposição"
 
 #: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
-msgstr "Gama de ajuste"
+msgstr "Ajuste de Gama"
 
 #: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
-msgstr "Meio-tom"
+msgstr "Halftone 2"
 
 #: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
-msgstr "Máscara de Origem"
+msgstr "Origem da Máscara"
 
 #: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
-msgstr "Ângulo de máscara"
+msgstr "Ângulo da Máscara"
 
 #: src/modules/mod_filter/halftone2.cpp:163
 #: src/modules/mod_filter/halftone3.cpp:328
@@ -1185,11 +1196,11 @@ msgstr "Tamanho da Máscara"
 
 #: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
-msgstr "Cor suave"
+msgstr "Cor Clara"
 
 #: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
-msgstr "Cor escura"
+msgstr "Cor Escura"
 
 #: src/modules/mod_filter/halftone2.cpp:176
 #: src/modules/mod_filter/halftone3.cpp:333
@@ -1200,7 +1211,7 @@ msgstr "Simétrico"
 #: src/modules/mod_filter/halftone2.cpp:177
 #: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
-msgstr "Luz no esuro"
+msgstr "Luz no Escuro"
 
 #: src/modules/mod_filter/halftone2.cpp:179
 #: src/modules/mod_filter/halftone3.cpp:336
@@ -1214,7 +1225,7 @@ msgstr "Listra"
 
 #: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
-msgstr "Meio-tom 3"
+msgstr "Halftone 3"
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
@@ -1222,7 +1233,7 @@ msgstr "Tipo"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
-msgstr "Bandeira subtrativa"
+msgstr "Bandeira Subtrativa"
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
@@ -1230,15 +1241,15 @@ msgstr "Cor"
 
 #: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
-msgstr "Máscara de Origem"
+msgstr "Origem da Máscara"
 
 #: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
-msgstr "Ângulo de máscara"
+msgstr "Ângulo da Máscara"
 
 #: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
-msgstr "Luma Key"
+msgstr "Chave de Luminância"
 
 #: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
@@ -1246,19 +1257,19 @@ msgstr "Desfoque Radial"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
-msgstr "Tamanho do borrão"
+msgstr "Tamanho do desfoque"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr "Fade out"
+msgstr "Desvanecer"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Tabuleiro de damas"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Contorno Avançado"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1266,80 +1277,9 @@ msgstr "Tabuleiro de damas"
 msgid "Geometry"
 msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Cor de quadriculado"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Centro do quadriculado"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Tamanho do quadriculado"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Círculo"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Raio do círculo"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Suavizar"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Quantidade da suavidade do círculo"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Inverter o círculo"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Falloff"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Determina a função falloff para a suavização"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linear"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Quadrado"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Raiz quadrada"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Co-seno"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
-msgstr ""
+msgstr "Sem vértices na spline"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1136
 #: src/modules/mod_geometry/outline.cpp:826
@@ -1347,12 +1287,12 @@ msgstr ""
 #: src/modules/mod_gradient/curvegradient.cpp:562
 #: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
-msgstr ""
+msgstr "Uma lista de pontos spline"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1140
 #: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
-msgstr "Largura da borda"
+msgstr "Largura do Contorno"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1141
 #: src/modules/mod_geometry/outline.cpp:841
@@ -1362,7 +1302,7 @@ msgstr "Largura global do contorno"
 #: src/modules/mod_geometry/advanced_outline.cpp:1145
 #: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
-msgstr "Expanda"
+msgstr "Expandir"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1146
 #: src/modules/mod_geometry/outline.cpp:847
@@ -1371,84 +1311,88 @@ msgstr "Valor a adicionar à largura global"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
-msgstr ""
+msgstr "Tipo de Dica ao Iniciar"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
+"Define o tipo de Ponta do primeiro ponto da spline, quando a spline não está "
+"enlaçada"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
-msgstr ""
+msgstr "Parar Arredondado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
-msgstr ""
+msgstr "Parar Quadrado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
-msgstr ""
+msgstr "Parar em Pico"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
-msgstr ""
+msgstr "Parar Achatado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
-msgstr ""
+msgstr "Tipo de Dica no Final"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
+"Define o tipo de Ponta do último ponto da spline, quando a spline não está "
+"enlaçada"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
-msgstr ""
+msgstr "Tipo de Cúspides"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1168
 #: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
-msgstr "Determina o tipo cúspide"
+msgstr "Determina o tipo de cúspide"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
-msgstr ""
+msgstr "Afiado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Arredondado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "Suavidade"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
-msgstr ""
+msgstr "Determina a interpolação entre pontos de largura. (0) Linear (1) Suave"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1457,54 +1401,128 @@ msgstr "Homogêneo"
 #: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
+"Quando verdadeiro, as posições dos pontos de largura são baseadas no "
+"comprimento da spline"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
-msgstr ""
+msgstr "Lista de Ponto de Largura"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
-msgstr ""
+msgstr "Lista os Pontos de largura que definem a variável largura"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
+"Quando marcada, o contorno renderiza mais rápido, mas com menos precisão"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr ""
+msgstr "Contorno Tracejado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr ""
+msgstr "Quando marcada, o contorno é tracejado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
-msgstr ""
+msgstr "Lista de Itens Tracejado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
-msgstr ""
+msgstr "Lista de itens de tracejado que define o contorno tracejado"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
-msgstr ""
+msgstr "Deslocamento dos Itens Tracejados"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
-msgstr ""
+msgstr "Distância para Deslocar os Itens Tracejados"
 
-#: src/modules/mod_geometry/outline.cpp:72
-msgid "Outline"
-msgstr "Borda"
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Tabuleiro de damas"
 
-#: src/modules/mod_geometry/outline.cpp:192
-msgid "No vertices in outline "
-msgstr "Sem vértices na borda"
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Cor do quadriculado"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Centro do quadriculado"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Tamanho do quadriculado"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Círculo"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Raio do círculo"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Esmaecer"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Quantidade do esmaecimento do círculo"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Inverter o círculo"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Diminuição"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Determina a função de diminuição para o esmaecimento"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linear"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Quadrado"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Raiz Quadrada"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Cosseno"
+
+#: src/modules/mod_geometry/outline.cpp:72
+msgid "Outline"
+msgstr "Contorno"
+
+#: src/modules/mod_geometry/outline.cpp:192
+msgid "No vertices in outline "
+msgstr "Nenhum vértice no contorno"
 
 #: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
-msgstr "Cúspides afiadas"
+msgstr "Cúspides Afiadas"
 
 #: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
@@ -1513,24 +1531,24 @@ msgstr "Início Arredondado"
 #: src/modules/mod_geometry/outline.cpp:857
 #: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
-msgstr "Termine a ponta"
+msgstr "Arredondar a ponta"
 
 #: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
-msgstr "Fim arredondado"
+msgstr "Final arredondado"
 
 #: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
-msgstr "Loopyness"
+msgstr "Loucura Total"
 
 #: src/modules/mod_geometry/outline.cpp:866
 msgid "(Currently not used)"
-msgstr ""
+msgstr "(Atualmente não usado)"
 
 #: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
-"Quando verificada a largura tem o comprimento da Spline para interpolar"
+"Quando marcada, a largura assume o comprimento da spline para interpolar"
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
@@ -1554,24 +1572,26 @@ msgstr "Estrela"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
-msgstr "Raio externo"
+msgstr "Raio Externo"
 
 #: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
-msgstr "O raio dos pontos exteriores da estrela"
+msgstr "O raio dos pontos exteriores na estrela"
 
 #: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
-msgstr "Raio interno"
+msgstr "Raio Interno"
 
 #: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
-msgstr "O raio dos pontos interiores da estrela"
+msgstr "O raio dos pontos interiores na estrela"
 
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Ângulo"
 
@@ -1579,7 +1599,7 @@ msgstr "Ângulo"
 msgid "The orientation of the star"
 msgstr "A orientação da estrela"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Pontos"
 
@@ -1595,12 +1615,12 @@ msgstr "Polígono Regular"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Seja para desenhar uma estrela ou um polígono regular"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
-msgstr "Impossível abrir \"%s\" para acesso de gravação!"
+msgstr "Não é possível abrir \"%s\" para acesso de gravação!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Descrição não definida!"
 
@@ -1619,12 +1639,12 @@ msgstr "Gradientes"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
-msgstr "Gradiente para aplicar"
+msgstr "Gradiente a aplicar"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:115
 msgid "Center of the cone"
@@ -1636,44 +1656,45 @@ msgstr "Rotação do gradiente em torno do centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
-msgstr "Quando marcado o gradiente é fechado"
+msgstr "Quando marcada, o gradiente é fechado"
 
 #: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
-msgstr "Curva de gradiente"
+msgstr "Gradiente Curvo"
 
 #: src/modules/mod_gradient/curvegradient.cpp:551
 #: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
-msgstr "Deslocamento para a lista de vértices"
+msgstr "Deslocamento para a Lista de Vértices"
 
 #: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
-msgstr "Largura global  do gradiente"
+msgstr "Largura global do gradiente"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr "Loop"
+msgstr "Laço"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
-msgstr "ZigZag"
+msgstr "Zigue-Zague"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "Quando marcado, o gradiente é simétrico no centro"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr "Quando marcada, o gradiente é simétrico ao centro"
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1681,19 +1702,19 @@ msgstr "Perpendicular"
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr "Gradiente linear"
+msgstr "Gradiente Linear"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Ponto inicial do gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Ponto final do gradiente"
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr "Gradiente radial"
+msgstr "Gradiente Radial"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:119
@@ -1714,67 +1735,71 @@ msgstr "Sentido horário"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
-msgstr "Quando marcado, a espiral gira para a direita"
+msgstr "Quando marcada, a espiral gira no sentido horário"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
-msgstr "Nenhum arquivo para carregar"
+msgstr "Nenhum arquivo a carregar"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr "Não é possível criar arquivo temporário de"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Não é possível abrir"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
-msgstr "Não foi possível obter quadro de"
+msgstr "Não é possível obter quadro de"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
-msgstr "superfície ruim de"
+msgstr "Superfície inválida de"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Não foi possível abrir pipe para imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
-msgstr "Chegou ao fim do fluxo sem encontrar cabeçalho PPM"
+msgstr "Chegou ao fim do fluxo sem encontrar o cabeçalho PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
-msgstr "Fluxo fora do formato PPM"
+msgstr "não transmitir em formato PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
-msgstr "Fim prematuro de arquivo (depois do cabeçalho)"
+msgstr "Fim prematuro de arquivo (após cabeçalho)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Fim prematuro de arquivo"
 
 #: src/modules/mod_imagemagick/trgt_imagemagick.cpp:157
 msgid "Unable to open pipe to imagemagick's convert utility"
-msgstr ""
-"Não foi possível abrir pipe para imagemagick de utilitário de conversão"
+msgstr "Não é possível abrir pipe para utilitário de conversão do imagemagick "
 
 #: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
-msgstr "Distorção de ruído "
+msgstr "Distorção de Ruído "
 
 #: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
@@ -1782,7 +1807,7 @@ msgstr "Deslocamento"
 
 #: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
-msgstr "Quanto a distorção desloca o contexto"
+msgstr "O quanto a distorção desloca o contexto"
 
 #: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
@@ -1790,14 +1815,14 @@ msgstr "A distância entre as distorções"
 
 #: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
-msgstr "Semente de ruído aleatório"
+msgstr "Semente de Ruído Aleatório"
 
 #: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
-msgstr "Alterar para modificar a semente aleatória do ruído"
+msgstr "Altere para modificar a semente aleatória do ruído"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolação"
@@ -1810,19 +1835,19 @@ msgstr "Que tipo de interpolação usar"
 #: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
 #: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
-msgstr "Vizinhos mais próximos"
+msgstr "Vizinhos mais Próximos"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cúbico"
@@ -1833,7 +1858,7 @@ msgstr "Detalhe"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
-msgstr "Aumente para obter detalhes do ruído"
+msgstr "Aumente para obter detalhes finos do ruído"
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
@@ -1849,16 +1874,16 @@ msgstr "Turbulento"
 
 #: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
-msgstr "Quando marcada produz ruído turbulento"
+msgstr "Quando marcada, produz ruído turbulento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Aleatório"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
-msgstr "Ruído Gradiente"
+msgstr "Gradiente de Ruído"
 
 #: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
@@ -1866,7 +1891,7 @@ msgstr "Tamanho do ruído"
 
 #: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
-msgstr "Do Alpha"
+msgstr "Fazer Alfa"
 
 #: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
@@ -1878,61 +1903,63 @@ msgstr "Super Amostragem"
 
 #: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
-msgstr "Quando marcado o gradiente é super amostrado"
-
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+msgstr "Quando marcada, o gradiente é super amostrado"
+
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr "Link"
+msgstr "Vínculo"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
-msgstr "O valor do nó de origem que fornece o valor central"
+msgstr "O nó de valor de origem que fornece o valor central"
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "O valor da diferença máxima aleatória"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
-msgstr "Sementes"
+msgstr "Semente"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Semeia o gerador de números aleatórios"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Velocidade"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Define quantas vezes um novo valor aleatório é escolhido (em escolhas por "
 "segundo)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
-"Determina como o valor é interpolada uma escolha aleatória para a próxima"
+"Determina como o valor é interpolado de uma escolha aleatória para a próxima"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Sem interpolação"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
-msgstr "Tempo do loop"
+msgstr "Tempo do Laço"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
-msgstr "Torna a repetir um valor aleatório após o tempo determinado"
+msgstr "Faz o valor aleatório repetir após o tempo dado"
 
 #: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
@@ -1940,15 +1967,15 @@ msgstr "Planta"
 
 #: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
-msgstr "Gradiente para ser utilizado na coloração da planta"
+msgstr "Gradiente a ser usado para colorir da planta"
 
 #: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
-msgstr "Separar ângulo"
+msgstr "Dividir Ângulo"
 
 #: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
-msgstr "Ângulo pelo qual cada grupo se desvia do seu pai"
+msgstr "Ângulo pelo qual cada divisão se desvia de seu pai"
 
 #: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
@@ -1956,29 +1983,33 @@ msgstr "Gravidade"
 
 #: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
-msgstr "Direção na qual os disparos tendem a ir"
+msgstr "Direção na qual os disparos tendem a se direcionar"
 
 #: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
-msgstr "Velocidade tangencial"
+msgstr "Velocidade Tangencial"
 
 #: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
+"Valor pelo qual derivações tendem a crescer ao longo da tangente para a "
+"spline"
 
 #: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
-msgstr "Velocidade perpendicular"
+msgstr "Velocidade Perpendicular"
 
 #: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
+"Valor pelo qual derivações tendem a crescer perpendiculares à tangente para "
+"a spline"
 
 #: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
-msgstr "Tamanho da haste"
+msgstr "Tamanho da Haste"
 
 #: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
@@ -1986,40 +2017,41 @@ msgstr "Tamanho da haste"
 
 #: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
-msgstr "Tamanho como alfa"
+msgstr "Tamanho Como Alfa"
 
 #: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
-"Se ativado, o canal alfa do gradiente é multiplicado pelo tamanho da haste, "
-"e um alfa de 1,0 é usado quando o processamento"
+"Se ativado, o canal alfa do gradiente é multiplicado pelo tamanho da haste e "
+"um alfa de 1,0 é usado ao renderizar"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Reverso"
 
 #: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
-msgstr "Se ativado, processa a planta na direção oposta"
+msgstr "Se ativado, renderiza a planta na direção oposta"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
-msgstr "Etapa"
+msgstr "Passo"
 
 #: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
-msgstr "Medida da distância entre os pontos quando em processamento"
+msgstr "Medida da distância entre pontos ao renderizar"
 
 #: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
-msgstr "Usado para semear o gerador de números pseudo-aleatórios"
+msgstr "Usado para semear o gerador de número pseudo-aleatório"
 
 #: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
-msgstr "Partir"
+msgstr "Divisões"
 
 #: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
@@ -2031,7 +2063,7 @@ msgstr "Brotos"
 
 #: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
-msgstr ""
+msgstr "Número de lugares em que o crescimento ocorre em cada seção da spline"
 
 #: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
@@ -2041,7 +2073,7 @@ msgstr "Fator Aleatório"
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
-"Usado para reduzir todos efeitos aleatórios. Definido como zero para "
+"Usado para reduzir todos efeitos aleatórios. Definir como zero para "
 "desabilitar aleatoriedade."
 
 #: src/modules/mod_particle/plant.cpp:503
@@ -2050,119 +2082,229 @@ msgstr "Arrastar"
 
 #: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
-msgstr "Arraste retarda o crescimento"
+msgstr "Arrastar retarda o crescimento"
 
 #: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
-msgstr "Use a Largura"
+msgstr "Usar Largura"
 
 #: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
+msgstr "Escala a velocidade pela largura da spline"
+
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr "Estado inválido da Superfície Cairo"
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
 msgstr ""
+"A imagem é muito grande. Seu tamanho não deve ser maior que "
+"5000*2000=10000000 px. Agora é %d*%d=%d px."
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s não estava no formato PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open (): Não é possível abrir arquivo vazio"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "Importar Svg"
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open (): Não foi possível encontrar a extensão"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "booleano"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open (): Tipo de arquivo desconhecido --"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "inteiro"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "ângulo"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "tempo"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vetor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "cor"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segmento"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "ponto_spline"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "matriz"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr "par_peso_do_osso"
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr "ponto_de_largura"
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr "item_traco"
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "tela"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "sequência"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradiente"
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "objeto_osso"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "no_de_valor_do_osso"
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "transformação"
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr "CairoImporter::open(): Não é possível abrir nome de arquivo vazio"
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr "CairoImporter::open(): Não é possível encontrar extensão"
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr "CairoImporter::open(): Tipo de arquivo desconhecido -- "
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
-msgstr ""
+msgstr "Nenhuma imagem na lista"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "em linha"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Unidades"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Polegadas"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Metros"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Milímetros"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centímetros"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open(): Não é possível abrir nome de arquivo vazio"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open(): Não é possível encontrar a extensão"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open(): Tipo de arquivo desconhecido --"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
-msgstr "Não é possível criar alvo da superfície"
+msgstr "Não é possível criar destino da superfície"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Profundidade Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica a posição da camada na pilha de camadas"
 
 #: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
-msgstr "No topo-à esquerda"
+msgstr "Superior Esquerdo"
 
 #: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
-msgstr "Canto superior esquerdo da imagem"
+msgstr "Canto Superior esquerdo da imagem"
 
 #: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
-msgstr "Embaixo- à direita"
+msgstr "Inferior Direito"
 
 #: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
-msgstr "Canto inferior-direito da imagem"
+msgstr "Canto Inferior direito da imagem"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Canal alfa da camada"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr "Método Mistura"
+msgstr "Método de Mistura"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
-msgstr "O método de mistura utilizado para compor as camadas abaixo"
+msgstr "O método de mistura usado para composição nas camadas inferiores"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr "Duplicado"
+msgstr "Duplicar"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Índice"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
-msgstr "Índice da cópia"
+msgstr "Índice da Cópia"
 
 #: src/synfig/layer_mime.cpp:86
 msgid "[MIME]"
@@ -2170,7 +2312,7 @@ msgstr "[MIME]"
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr "Borragem de movimento"
+msgstr "Desfoque de Movimento"
 
 #: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
@@ -2178,25 +2320,25 @@ msgstr "Abertura"
 
 #: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
-msgstr "Tempo do obturador"
+msgstr "Tempo do Obturador"
 
 #: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
-msgstr "Fator de subamostras"
+msgstr "Fator de Subamostras"
 
 #: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
-msgstr "Multiplica o número de subamostras geradas"
+msgstr "Multiplica o Número de Subamostras Renderizadas"
 
 #: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
-msgstr "Tipo subamostragem"
+msgstr "Tipo de Subamostragem"
 
 #: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
-msgstr "Tipo de curva de Ponderação das Subamostras"
+msgstr "Tipo de Curva para Ponderação de Subamostras"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Constante"
 
@@ -2206,2494 +2348,2941 @@ msgstr "Hiperbólico"
 
 #: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
-msgstr "Valor Inicial da Subamostra"
+msgstr "Quantidade Inicial da Subamostra"
 
 #: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
-msgstr ""
+msgstr "Quantidade Relativa da Primeira Subamostra, para Ponderação Linear"
 
 #: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
-msgstr ""
+msgstr "Quantidade Final da Subamostra"
 
 #: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
-msgstr ""
+msgstr "Quantidade Relativa da Última Subamostra, para Ponderação Linear"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr "Deslocamento de posição"
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Transformação"
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr "Posição, rotação, inclinação e escala"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Tela"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
+msgstr "Conteúdo do grupo"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
-msgstr ""
+msgstr "Deslocamento de Tempo para aplicar ao contexto"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
+"Quando marcada, evita selecionar as filhas utilizando o clique do mouse"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
-msgstr ""
+msgstr "Aumentar Contorno"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
+"Valor exponencial para aumentar a largura das camadas de Contorno filhas"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
-msgstr ""
+msgstr "Tempo Atual"
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
-msgstr ""
+msgstr "Polígono"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
-msgstr ""
+msgstr "Lista de Vértices"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
-msgstr ""
+msgstr "Define os cantos do polígono"
 
 #: src/synfig/layer_shape.cpp:66
 msgid "Shape"
-msgstr ""
+msgstr "Forma"
 
 #: src/synfig/layer_shape.cpp:67
 msgid "Internal"
-msgstr ""
+msgstr "Interno"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
-msgstr ""
+msgstr "Cor da Camada de_Forma"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
-msgstr ""
+msgstr "Antisserrilha"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr ""
+msgstr "Tipo de Esmaecimento"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
-msgstr ""
+msgstr "Tipo de esmaecimento a utilizar"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
-msgstr ""
+msgstr "Estilo Sinuoso"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
-msgstr ""
+msgstr "Estilo sinuoso a utilizar"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
-msgstr ""
+msgstr "Não Zero"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Par/Ímpar"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Esqueleto"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Nome"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Ossos"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
+msgstr "Cor Sólida"
+
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Arredondado"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Não é possível abrir o arquivo"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Alternar"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Nome da Camada Ativa"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr "Apenas a camada com nome especificado é visível"
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
-msgstr "Não pôde carregar '%s' recursivamente"
+msgstr "não é possível carregar '%s' recursivamente"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
-msgstr "Elemento inesperado <%s>, era esperado <%s>"
+msgstr "Elemento inesperado <%s>, Esperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inesperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
-msgstr "Muitas mensagens de advertência."
+msgstr "Excesso de alertas"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
-msgstr ""
+msgstr "<%s> está faltando o atributo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
-msgstr "<%s> não deve ser vazio"
+msgstr "<%s> não deve conter nada"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
-msgstr ""
+msgstr "<%s> está faltando o atributo \"valor\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
-msgstr ""
+msgstr "Valor inválido \"%s\" em <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
-msgstr ""
+msgstr "<%s> está faltando o atributo \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
-msgstr ""
+msgstr "Não é possível criar <animado> com o tipo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
-msgstr ""
+msgstr "<ponto de passagem> está faltando o atributo \"tempo\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
+"Encontrado o atributo \"uso\" para <ponto de passagem>, mas ele não estava "
+"vazio. Ignorando conteúdos..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
-msgstr ""
+msgstr "ID desconhecido (%s) referenciado no ponto de passagem"
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
-msgstr ""
+msgstr "<%s> está faltando seus dados"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
-msgstr ""
+msgstr "Dados inválidos para <ponto de passagem>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
+"Elemento inesperado <%s> após dados de <ponto de passagem>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
-msgstr ""
+msgstr "Faltando atributo \"tipo\" em <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
-msgstr ""
+msgstr "Tipo inválido em <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
-msgstr ""
+msgstr "Erro criando Nó de Valor <%s> com tipo '%s'. Referir a '%s'."
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
-msgstr ""
+msgstr "<%s> não aceitou o tipo '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
-msgstr ""
+msgstr "'%s' já foi definido em <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
-msgstr ""
+msgstr "Atributo '%s' em <%s> faz referência ao ID desconhecido '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
+"Não é possível definir o vínculo \"'%s\" ao Nó de Valor \"%s\" (vínculo #%d "
+"em \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
-msgstr ""
+msgstr "Exceção Desconhecida lançada ao referenciar Nó de Valor \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
-msgstr ""
+msgstr "elemento <%s> está faltando seu conteúdo"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
-msgstr ""
+msgstr "Análise de '%s' falhou"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
+"Não é possível conectar o nó de valor ('%s' de tipo '%s') para vincular %d "
+"(%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
-msgstr ""
+msgstr "Exceção Desconhecida lançada ao trabalhar no elemento \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
-msgstr ""
+msgstr "<%s> está faltando vínculo %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
-msgstr ""
+msgstr "Não é possível criar <lista>"
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
-msgstr ""
+msgstr "<entrada> está faltando seus conteúdos ou faltando elemento \"usar\""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
-msgstr ""
+msgstr "Não é possível criar <lista_dinâmica>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
-msgstr ""
+msgstr "Dados inválidos em <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
-msgstr ""
+msgstr "Esperado um Nó de Valor. Referir a '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
-msgstr ""
+msgstr "ID inválido \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
-msgstr ""
+msgstr "ID Duplicado \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
-msgstr ""
+msgstr "Exceção Desconhecida lançada ao adicionar Nó de Valor \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
-msgstr ""
+msgstr "Faltando atributo \"tipo\" para elemento \"camada\""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
+"Versão da camada instalada é menor do que a versão da camada no arquivo"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
-msgstr ""
+msgstr "entrada <nome> para <camada> ainda não é suportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
-msgstr ""
+msgstr "entrada <desc> para <camada> ainda não é suportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
-msgstr ""
+msgstr "Faltando atributo \"nome\" para <param>."
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
+"Encontrado atributo \"uso\" para <param>, mas ele não está vazio. Ignorando "
+"conteúdos..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
-msgstr ""
+msgstr "Valor use=\"\" vazio em <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
-msgstr ""
+msgstr "Falhou ao carregar subtela '%s'"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
-msgstr ""
+msgstr "Camada rejeitou vínculo de tela"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
-msgstr ""
+msgstr "ID desconhecido (%s) referenciado no parâmetro \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
+"<param> está ou faltando seus conteúdos, ou faltando um atributo \"usar\"."
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
-msgstr ""
+msgstr "Dados inválidos para <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
-msgstr ""
+msgstr "Camada '%s' rejeitou valor para parâmetro '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
-msgstr ""
+msgstr "Elemento inesperado <%s> após dados de <param>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
-msgstr ""
+msgstr "Tela com largura e altura menor que um não é permitida"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
-msgstr ""
+msgstr "Telas de grupo não podem ter uma seção <defs>"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
-msgstr ""
+msgstr "Tela em linha não pode ter uma seção <ossos>"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
-msgstr ""
+msgstr "Telas de grupo não podem ter quadros-chave"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
-msgstr ""
+msgstr "Telas de grupo não podem ter metadados"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
-msgstr ""
+msgstr "<meta> deve ter um nome"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
-msgstr ""
+msgstr "<meta> deve ter conteúdo"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
-msgstr ""
+msgstr "entidade \"nome\" em branco"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
-msgstr ""
+msgstr "entidade \"desc\" em branco"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
-msgstr ""
+msgstr "entidade \"autor\" em branco"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
-msgstr ""
+msgstr "Tela '%s' tem %s indefinido: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "Nó de Valor"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
-msgstr ""
+msgstr "Nós de Valor"
+
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr "Não foi possível encontrar o arquivo vinculado"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
-msgstr "Impossível abrir o arquivo"
+msgstr "Não é possível abrir o arquivo"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
-msgstr ""
+msgstr "Incompatibilidade da versão do API (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Incompatibilidade do tamanho do Vetor (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Incompatibilidade do tamanho da Cor (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Incompatibilidade do tamanho da Tela (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
-msgstr ""
+msgstr "Incompatibilidade do tamanho da Camada (app:%d, lib:%d)"
+
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr "Inicializando Subsistema \"Som\""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr "Não é possível inicializar o subsistema \"Som\""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr "Iniciando Subsistema \"Tipos\""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr "Não foi possível inicializar o subsistema \"Tipos\""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Módulos\""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr ""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr "Não foi possível inicializar o subsistema \"Módulos\""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Camadas\""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
-msgstr ""
+msgstr "Não é possível inicializar subsistema \"Camadas\""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Destinos\""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
-msgstr ""
+msgstr "Não é possível inicializar subsistema \"Destinos\""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Importadores\""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
-msgstr ""
+msgstr "Não é possível inicializar subsistema \"Importadores\""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Importadores Cairo\""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Não é possível inicializar subsistema \"Importadores Cairo\""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
-msgstr ""
+msgstr "Iniciando Subsistema \"Nós de Valor\""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
-msgstr ""
+msgstr "Não é possível inicializar subsistema \"Nós de Valor\""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
-msgstr ""
+msgstr "Carregando módulos de %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
-msgstr ""
+msgstr "Não é possível abrir arquivo lista de módulos '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
-msgstr "PRONTO"
+msgstr "FEITO"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
-msgstr ""
+msgstr "erro"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
-msgstr ""
+msgstr "aviso"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
-msgstr ""
+msgstr "informação"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
-msgstr ""
+msgstr "Erros em lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
-msgstr ""
+msgstr "Não é possível carregar o módulo '%s'"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
-msgstr ""
+msgstr "Tentando registrar \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
-msgstr ""
+msgstr "Não é possível encontrar o módulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
-msgstr ""
+msgstr "Encontrado módulo \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
-msgstr ""
+msgstr "Não é possível encontrar o ponto de entrada no módulo \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
-msgstr ""
+msgstr "Ponto de entrada não retornou um módulo."
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
-msgstr ""
+msgstr "Sucesso para \"%s\""
 
 #: src/synfig/palette.cpp:79
 msgid "Unnamed"
-msgstr ""
+msgstr "Não nomeado"
 
 #: src/synfig/palette.cpp:96
 msgid "Surface Palette"
-msgstr ""
+msgstr "Paleta de Superfície"
 
 #: src/synfig/palette.cpp:291
 #, c-format
 msgid "%0.2f%% Gray"
-msgstr ""
+msgstr "%0.2f%% Cinza"
 
 #: src/synfig/palette.cpp:306
 #, c-format
 msgid "Unable to open %s for write"
-msgstr ""
+msgstr "Não é possível abrir %s para gravação"
 
 #: src/synfig/palette.cpp:328
 #, c-format
 msgid "Unable to open %s for read"
-msgstr ""
+msgstr "Não é possível abrir %s para leitura"
 
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
 msgid "%s does not appear to be a valid %s palette file"
-msgstr ""
+msgstr "%s não parece ser um arquivo de paleta %s válido"
 
 #: src/synfig/palette.cpp:437
 #, c-format
 msgid "%s does not appear to be a supported palette file"
-msgstr ""
+msgstr "%s não parece ser um arquivo de paleta suportado"
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
-msgstr ""
+msgstr "Composição"
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "Direto"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "Para cima"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "Direto para cima"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "Atrás"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "Quebra-luz"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr ""
+msgstr "Sobreposição"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr ""
+msgstr "Luz Dura"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "Multiplicar"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "Dividir"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
-msgstr ""
+msgstr "Adicionar"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
-msgstr ""
+msgstr "Subtrair"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr ""
+msgstr "Diferença"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr ""
+msgstr "Clarear"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr ""
+msgstr "Escurecer"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Matiz"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Saturação"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr ""
+msgstr "Luminância"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
-msgstr ""
+msgstr "Alfa Sobre"
 
 #: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr ""
+msgstr "Clarear Alfa"
 
 #: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr ""
+msgstr "Escurecer Alfa"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
-msgstr ""
+msgstr "Pânico de destino"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
-msgstr ""
+msgstr "Valor(%s) desconhecido, não é possível criar representação XML!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
+"Tipo de Nó de Valor Desconhecido (%s), não é possível criar uma "
+"representação XML"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Falha na inicialização do alvo"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
-msgstr ""
+msgstr "Falha do Renderizador de Quadro"
 
 #: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:274
 #: src/synfig/target_scanline.cpp:435
 msgid "Unable to put surface on target"
-msgstr ""
+msgstr "Não é possível colocar superfície no destino"
 
 #: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
-msgstr ""
+msgstr "Método de renderização não suportado"
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
-msgstr ""
+msgstr "Sequência capturada :"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
-msgstr "Sem memória (provavelmente é um bug)"
+msgstr "Esgotou a memória (Provavelmente um erro)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
-msgstr ""
-
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
+msgstr "Erro desconhecido capturado, tentando novamente..."
 
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
-msgstr ""
+msgstr "Tamanho Inválido de Bloco"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
-msgstr ""
+msgstr "Falha do Renderizador Acelerado"
 
 #: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
-msgstr ""
+msgstr "Superfície inválida: %s"
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
-msgstr ""
+msgstr "add_tile():Não é possível colocar superfície no destino"
 
 #: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
-msgstr ""
+msgstr "Não é possível iniciar o quadro"
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
-msgstr ""
+msgstr "Falha do Renderizador Paramétrico"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
-msgstr ""
+msgstr "Superfície inválida"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
+"Time(): Nenhuma unidade fornecida no código de tempo, adotando QUADROS (\"%s"
+"\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
+"Time(): Nenhuma unidade fornecida no código de tempo e a taxa de quadros é "
+"desconhecida! Adotando SEGUNDOS"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
-msgstr ""
+msgstr "Composição Radial"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Referência"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
-msgstr ""
+msgstr "Tangente de Segmento"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
-msgstr ""
+msgstr "Vértice de Segmento"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
-msgstr ""
+msgstr "Listras"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
-msgstr ""
+msgstr "Dois Tons"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
-msgstr ""
+msgstr "Lista Dinâmica"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
-msgstr ""
+msgstr "Rotação de Gradiente"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
-msgstr ""
+msgstr "Seno"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
-msgstr ""
+msgstr "Troca Cronometrada"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
-msgstr ""
+msgstr "Repetir Gradiente"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
-msgstr ""
+msgstr "Exponencial"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
-msgstr ""
+msgstr "Tangente da Spline"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
-msgstr ""
+msgstr "Vértice da Spline"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
+msgstr "Alcance"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
-msgstr ""
+msgstr "Cosseno"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
-msgstr ""
+msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
-msgstr ""
+msgstr "Tangente Reverso"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
-msgstr ""
+msgstr "Recíproco"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Inteiro"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
-msgstr ""
+msgstr "Largura da Spline"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
-msgstr ""
+msgstr "Ângulo do Vetor"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
-msgstr ""
+msgstr "Comprimento do Vetor"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
-msgstr ""
+msgstr "Vetor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
-msgstr ""
+msgstr "Vetor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
-msgstr ""
+msgstr "Cor do Gradiente"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
-msgstr ""
+msgstr "Produto Escalar"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
-msgstr ""
+msgstr "Sequência de Tempo"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Real"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
-msgstr ""
+msgstr "Sequência Real"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
-msgstr ""
+msgstr "Lista Adicionada"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
-msgstr ""
+msgstr "Sequência de Ângulo"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
-msgstr ""
+msgstr "Sequência de Inteiro"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
-msgstr ""
+msgstr "Logaritmo"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
-msgstr ""
+msgstr "Acinzentado"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
-msgstr ""
+msgstr "Potência"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
-msgstr ""
+msgstr "Comparar"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
-msgstr ""
+msgstr "Não"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
-msgstr ""
+msgstr "E"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
-msgstr ""
+msgstr "Ou"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
-msgstr ""
+msgstr "Influência do Osso"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "Osso"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
-msgstr ""
+msgstr "Osso Raiz"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
-msgstr ""
+msgstr "Lista Estática"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
-msgstr ""
+msgstr "Par de Peso do Osso"
+
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "Vínculo de Osso"
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
-msgstr ""
+msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
-msgstr ""
+msgstr "DIList"
+
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "Média"
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr "Média Ponderada"
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "Dinâmico"
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "Derivativo"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
-msgstr ""
+msgstr "Tipo inválido: Nó de Valor '%s' não aceita o tipo '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
-msgstr ""
+msgstr "Marcador de posição"
 
 #: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
-msgstr ""
-
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+msgstr "%s:%d tipo errado para %s: precisa de %s mas obteve %s"
+
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
-msgstr ""
+msgstr ":Tipo inválido"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
-msgstr ""
+msgstr "Um ou ambos de meus parâmetros não estão definidos!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
-msgstr ""
+msgstr "LEA"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
-msgstr ""
+msgstr "Lado Esquerdo da adição"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
-msgstr ""
+msgstr "LDA"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
-msgstr ""
+msgstr "Lado Direito da adição"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
-msgstr ""
+msgstr "Escalar"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
-msgstr ""
+msgstr "Valor que multiplica a adição"
 
 #: src/synfig/valuenode_and.cpp:129
 msgid "AND"
-msgstr ""
+msgstr "E"
 
 #: src/synfig/valuenode_and.cpp:147 src/synfig/valuenode_or.cpp:147
 msgid "Link1"
-msgstr ""
+msgstr "Vínculo1"
 
 #: src/synfig/valuenode_and.cpp:148
 msgid "First operand of the AND operation"
-msgstr ""
+msgstr "Primeiro operador da operação E"
 
 #: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
 msgid "Link2"
-msgstr ""
+msgstr "Vínculo2"
 
 #: src/synfig/valuenode_and.cpp:153
 msgid "Second operand of the AND operation"
+msgstr "Segundo operador da operação E"
+
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Valor a converter para sequência"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Largura da sequência"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precisão"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Número de casas decimais"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Preenchido de Zero"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
 msgstr ""
+"Quando marcada, a sequência é preenchida à esquerda com zeros para coincidir "
+"com a largura"
 
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
-msgstr ""
+msgstr "Um ponto de passagem já existe neste ponto no tempo"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
-msgstr ""
+msgstr "%s: Você não pode usar um %s em um Nó de Valor animado"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
-msgstr ""
+msgstr "Animado"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
-msgid "No entries in list"
-msgstr ""
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr "Cosseno do ângulo"
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr "Y"
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "Seno do ângulo"
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
+msgid "No entries in list"
+msgstr "Nenhuma entrada na lista"
+
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
-msgstr ""
+msgstr "Nenhuma entrada em ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
-msgstr ""
+msgstr "Vértice %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
-msgstr ""
+msgstr "A Spline a qual a tangente é vinculada"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
-msgstr ""
+msgstr "Quando marcada, o valor entra em laço contínuo."
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
-msgstr ""
+msgstr "A posição da tangente vinculada na Spline (0,1]"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
-msgstr ""
+msgstr "Deslocamento"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
-msgstr ""
+msgstr "Deslocamento do ângulo da tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
-msgstr ""
+msgstr "Escala da tangente"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
-msgstr ""
+msgstr "Comprimento fixo"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
-msgstr ""
+msgstr "Quando marcada, o comprimento da tangente é fixo."
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
-msgstr ""
+msgstr "Quando marcada, a tangente é baseada no comprimento da Spline"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:202
 msgid "The spline where the vertex is linked to"
-msgstr ""
+msgstr "A spline a qual o vértice é vinculado"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:212
 msgid "The position of the linked vertex on the Spline (0,1]"
-msgstr ""
+msgstr "A posição do vértice vinculado na Spline (0,1]"
 
 #: src/synfig/valuenode_blinecalcvertex.cpp:217
 msgid "When checked, the position is Spline length based"
-msgstr ""
+msgstr "Quando marcada, a posição é baseada no comprimento da Spline"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:207
 msgid "The spline where the width is linked to"
-msgstr ""
+msgstr "A spline a qual a largura é vinculada"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:217
 msgid "The position of the linked width on the spline (0,1]"
-msgstr ""
+msgstr "A posição da largura vinculada na spline (0,1]"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:222
 msgid "Scale of the width"
-msgstr ""
+msgstr "Escala da largura"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:227
 msgid "When checked, the width is spline length based"
-msgstr ""
+msgstr "Quando marcada, a largura é baseada no comprimento da spline"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr "A tangente referenciada para reverter"
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr "Quando marcada, a referência é revertida"
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr "Osso %d"
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr "O nome do osso"
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr "Pai"
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr "O osso pai do osso"
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr "A origem de rotação do osso em relação ao seu pai"
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr "O ângulo de rotação do osso em relação ao seu pai"
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr "Escala de Comprimento Local"
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr "A escala do osso alinhada a seu comprimento"
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr "Largura do Osso"
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr "Largura do osso na sua origem"
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr "Escala de Comprimento Recursiva"
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr "A escala do osso e de seus filhos alinhada a seu comprimento"
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr "Largura da Ponta"
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr "Largura do osso na sua ponta"
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr "Profundidade-Z"
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr "A profundidade-z do osso"
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr "Definição de Comprimento"
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr "O comprimento do osso na definição"
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr "Raiz"
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr "Lista de Largura do Osso"
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr "Lista de ossos usada para calcular a influência"
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr "O nó de valor sendo influenciado pelo osso"
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr "O osso vinculado"
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr "Valor base"
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr "Fazer tradução"
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr "Fazer rotação"
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr "Enviesado"
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr "Fazer enviesado"
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr "Escala X"
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr "Fazer escala pelo eixo X"
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr "Escala Y"
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr "Fazer escala pelo eixo Y"
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr "Osso usado para fazer influência"
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr "largura"
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr "O valor relativo de influência do osso"
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "O lado esquerdo da comparação"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "O lado direito da comparação"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Maior"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "Quando marcada, retorna verdadeiro se LEA > LDA"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Igual"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "Quando marcada, retorna verdadeiro se LEA = LDA"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Menos"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "Quando marcada, retorna verdadeiro se LEA < LDA"
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
-msgstr ""
+msgstr "Tipo inválido de composição"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Vermelho"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
-msgstr ""
+msgstr "O componente vermelho da cor"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Verde"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
-msgstr ""
+msgstr "O componente verde da cor"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Azul"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
-msgstr ""
+msgstr "O componente azul da cor"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
-msgstr ""
+msgstr "O alfa da cor"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
-msgstr ""
+msgstr "Vértice 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
-msgstr ""
+msgstr "O primeiro vértice do segmento"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
-msgstr ""
+msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
-msgstr ""
+msgstr "A primeira tangente do segmento"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
-msgstr ""
+msgstr "Vértice 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
-msgstr ""
+msgstr "O segundo vértice do segmento"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
-msgstr ""
+msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
-msgstr ""
+msgstr "A segunda tangente do segmento"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
-msgstr ""
+msgstr "Eixo-X"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
-msgstr ""
+msgstr "O componente Eixo-X do vetor"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
-msgstr ""
+msgstr "Eixo-Y"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
-msgstr ""
+msgstr "O componente Eixo-Y do vetor"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
-msgstr ""
+msgstr "Vértice"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
-msgstr ""
+msgstr "O vértice do Ponto Spline"
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
-msgstr ""
+msgstr "A largura do Ponto Spline"
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
-msgstr ""
+msgstr "Define a posição Desligado e Ligado relativa aos vizinhos"
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
-msgstr ""
+msgstr "Dividir"
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
-msgstr ""
+msgstr "Quando marcada, as tangentes são independentes"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
-msgstr ""
+msgstr "A primeira tangente do Ponto Spline"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
-msgstr ""
+msgstr "A segunda tangente do Ponto Spline"
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr "Divisão do Raio"
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr "Quando marcada, os raios da tangente são independentes"
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr "Divisão do Ângulo"
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr "Quando marcada, os ângulos da tangente são independentes"
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
-msgstr ""
+msgstr "A posição [0,1] do Ponto de Largura sobre a Spline"
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
-msgstr ""
+msgstr "A largura de um Ponto de Largura"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
-msgstr ""
+msgstr "Tipo Lateral Anterior"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
-msgstr ""
+msgstr "Define o tipo de interpolação do ponto de largura"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
-msgstr ""
+msgstr "Interpolar"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
-msgstr ""
+msgstr "Tipo Lateral Posterior"
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
-msgstr ""
+msgstr "Limite Inferior"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
-msgstr ""
+msgstr "Define a posição no início da Spline"
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
-msgstr ""
+msgstr "Limite Superior"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
-msgstr ""
+msgstr "Define a posição no fim da Spline"
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
-msgstr ""
+msgstr "O comprimento de deslocamento do Item Traço sobre a Spline"
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Extensão"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
-msgstr ""
+msgstr "O comprimento do Item Traço"
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
-msgstr ""
+msgstr "Define o tipo de lado do item traço"
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr "O componente Deslocamento da transformação"
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr "O componente Ângulo da transformação"
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "Ângulo da Inclinação"
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr "O componente Ângulo da Inclinação da transformação"
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr "O componente Escalar da transformação"
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr "A Largura do valor"
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Valor"
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr ""
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr "O Valor"
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr "Primeiro"
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr "O Primeiro Valor"
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr "Segundo"
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr "O Segundo Valor"
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
-msgstr ""
+msgstr "Valor para calcular o cosseno"
 
 #: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
 msgid "Amplitude"
-msgstr ""
+msgstr "Amplitude"
 
 #: src/synfig/valuenode_cos.cpp:161
 msgid "Multiplier of the resulting cosine"
-msgstr ""
+msgstr "Multiplicador do cosseno resultante"
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr ""
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr "Valor para calcular o derivativo"
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr "Intervalo"
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr "Intervalo de tempo para calcular as diferenças finitas"
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr "Precisão"
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr "Precisão do derivativo"
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr "Áspero"
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr "Fino"
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr "Extremo"
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr "Ordem"
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr "Ordem do derivativo"
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr "Primeiro Derivativo"
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr "Segundo Derivativo"
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr "Item de Traço %03d"
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr "O lado esquerdo do produto do ponto"
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
+msgstr "O lado direito do produto do ponto"
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "De"
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
-msgstr ""
+msgstr "Valor inicial do índice"
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
-msgstr ""
+msgstr "Para"
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
-msgstr ""
+msgstr "Valor final do índice"
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
+msgstr "Incremento de quantidade do índice"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr "Ponta estática"
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr "Posição da ponta de equilíbrio sem forças externas"
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr "Embasamento do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr "Força"
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr "Força externa aplicada no centro da massa de gravidade"
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr "Torque"
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr "Impulso externo aplicado ao centro da inércia"
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr "Coeficiente de amortecimento"
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr "Coeficiente de amortecimento radial do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr "Coeficiente de fricção"
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr "Coeficiente de fricção rotacional do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr "Coeficiente de elasticidade"
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr "Coeficiente de elasticidade radial do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr "Coeficiente de torção"
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr "Coeficiente de torção do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr "Massa"
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr "Massa do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr "Momento de Inércia"
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr "Momento de inércia do sistema dinâmico"
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr "Mola rígida"
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr "Quando marcada, a mola linear é rígida"
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr "Torção rígida"
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr "Quando marcada, a mola de torção é rígida"
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr "Origem arrasta a ponta"
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
+"Quando marcada, o resultado é origem + ponta, do contrário é apenas a ponta"
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
-msgstr ""
+msgstr "Incompatibilidade de tipo de lista/item, removendo a incompatibilidade"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
-msgstr ""
+msgstr "Item %03d"
 
 #: src/synfig/valuenode_exp.cpp:150
 msgid "Exponent"
-msgstr ""
+msgstr "Expoente"
 
 #: src/synfig/valuenode_exp.cpp:151
 msgid "The value to raise the constant 'e'"
-msgstr ""
+msgstr "O valor para elevar a constante 'e'"
 
 #: src/synfig/valuenode_exp.cpp:156
 msgid "Multiplier of the resulting exponent"
-msgstr ""
+msgstr "Multiplicador do expoente resultante"
+
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr "O gradiente de onde a cor é selecionada"
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr "A posição da cor no gradiente (0,1]"
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr "Quando marcada, o índice entraria em laço"
 
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
-msgstr ""
+msgstr "O gradiente-fonte para rotacionar"
 
 #: src/synfig/valuenode_gradientrotate.cpp:170
 msgid "The amount to offset the gradient"
-msgstr ""
+msgstr "O valor para deslocar o gradiente"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr "O valor em cinza"
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
-msgstr ""
+msgstr "O valor inteiro a ser convertido"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr "Int"
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
-msgstr ""
+msgstr "Sequências"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
-msgstr ""
+msgstr "A Lista de sequências para juntar"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
-msgstr ""
+msgstr "Antes"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
-msgstr ""
+msgstr "A sequência para colocar antes das sequências ajuntadas"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
-msgstr ""
+msgstr "Separador"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
-msgstr ""
+msgstr "A sequência para colocar entre cada sequência ajuntada"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
-msgstr ""
+msgstr "Depois"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
-msgstr ""
+msgstr "A sequência para colocar após as sequências ajuntadas"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
-msgstr ""
+msgstr "Taxa"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
-msgstr ""
+msgstr "Valor que é multiplicado pelo tempo atual (em segundos)"
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
-msgstr ""
+msgstr "Inclinação"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
-msgstr ""
+msgstr "Valor retornado quando o tempo atual é zero"
+
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr "Nó de valor usado para calcular o logaritmo neperiano"
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Ípsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr "Valor usado para comparar 'vínculo' com zero"
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Infinito"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Valor retornado quando o resultado tende ao infinito"
 
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
-msgstr ""
+msgstr "NÃO"
 
 #: src/synfig/valuenode_not.cpp:142
 msgid "Value node used to do the NOT operation"
-msgstr ""
+msgstr "Nó de valor usado para fazer a operação NÃO"
 
 #: src/synfig/valuenode_or.cpp:129
 msgid "OR"
-msgstr ""
+msgstr "OU"
 
 #: src/synfig/valuenode_or.cpp:148 src/synfig/valuenode_or.cpp:153
 msgid "Value node used for the OR boolean operation"
-msgstr ""
+msgstr "Nó de valor usado para a operação booleana OU"
 
 #: src/synfig/valuenode_pow.cpp:180
 msgid "Base"
-msgstr ""
+msgstr "Base"
 
 #: src/synfig/valuenode_pow.cpp:181
 msgid "The base to be raised to the power"
-msgstr ""
+msgstr "A base a ser elevada à potência"
 
 #: src/synfig/valuenode_pow.cpp:186
 msgid "The power used to raise the base"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
+msgstr "A potência usada para elevar a base"
 
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
+msgstr "Valor usado para comparar a base ou potência com zero"
 
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
-msgstr ""
+msgstr "Tipo inválido para composição radial"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Luminância"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
-msgstr ""
+msgstr "O comprimento do vetor"
 
 #: src/synfig/valuenode_radialcomposite.cpp:276
 msgid "Theta"
-msgstr ""
+msgstr "Teta"
 
 #: src/synfig/valuenode_radialcomposite.cpp:277
 msgid "The angle of the vector with the X axis"
-msgstr ""
+msgstr "O ângulo do vetor com o eixo X"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
-msgstr "Alguns dos meus parâmetros não foram configurados!"
-
-#: src/synfig/valuenode_range.cpp:278
-msgid "Min"
-msgstr ""
-
-#: src/synfig/valuenode_range.cpp:279
-msgid "Returned value when 'Link' is smaller"
-msgstr ""
-
-#: src/synfig/valuenode_range.cpp:283
-msgid "Max"
-msgstr ""
-
-#: src/synfig/valuenode_range.cpp:284
-msgid "Returned value when 'Link' is greater"
-msgstr ""
-
-#: src/synfig/valuenode_range.cpp:289
-msgid "The value node to limit its range"
-msgstr ""
-
-#: src/synfig/valuenode_real.cpp:183
-msgid "The real value to be converted"
-msgstr ""
+msgstr "Alguns dos meus parâmetros não estão definidos!"
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
+#: src/synfig/valuenode_range.cpp:279
+msgid "Min"
+msgstr "Min"
 
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
+#: src/synfig/valuenode_range.cpp:280
+msgid "Returned value when 'Link' is smaller"
+msgstr "Valor retornado quando 'Vínculo' é menor"
 
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
+#: src/synfig/valuenode_range.cpp:284
+msgid "Max"
+msgstr "Max"
 
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
+#: src/synfig/valuenode_range.cpp:285
+msgid "Returned value when 'Link' is greater"
+msgstr "Valor retornado quando 'Vínculo' é maior"
 
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
+#: src/synfig/valuenode_range.cpp:290
+msgid "The value node to limit its range"
+msgstr "O nó de valor para limitar sua variação"
 
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
+#: src/synfig/valuenode_real.cpp:180
+msgid "The real value to be converted"
+msgstr "O valor real a ser convertido"
 
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
-msgstr ""
+msgstr "O nó de valor usado para calcular sua recíproca"
 
 #: src/synfig/valuenode_reciprocal.cpp:171
 msgid ""
 "The value used to decide whether 'Link' is too small to obtain its reciprocal"
 msgstr ""
+"O valor usado para decidir se 'Vínculo' é pequeno demais para obter sua "
+"recíproca"
 
 #: src/synfig/valuenode_reciprocal.cpp:176
 msgid "The resulting value when 'Link' < 'Epsilon'"
-msgstr ""
+msgstr "O valor resultante quando 'Vínculo' < 'Ípsilon'"
 
 #: src/synfig/valuenode_reference.cpp:144
 msgid "The referenced value"
-msgstr ""
+msgstr "O valor referenciado"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:204
 msgid "The source gradient to repeat"
-msgstr ""
+msgstr "O gradiente-fonte para repetir"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:208
 msgid "Count"
-msgstr ""
+msgstr "Contar"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:209
 msgid "The number of repetition of the gradient"
-msgstr ""
+msgstr "O número de repetições do gradiente"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr ""
+"Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr "Especifica quão tendencioso é o gradiente-fonte na repetição [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
-msgstr ""
+msgstr "Especificar Início"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:219
 msgid ""
 "When checked, 'Start Color' is used as the start of the resulting gradient"
 msgstr ""
+"Quando marcada, 'Cor Inicial' é usada como o início do gradiente resultante"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:223
 msgid "Specify End"
-msgstr ""
+msgstr "Especificar Fim"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:224
 msgid ""
 "When checked, 'End Color' is used as the start of the resulting gradient"
 msgstr ""
+"Quando marcada, 'Cor Final' é usada como o começo do gradiente resultante"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:228
 msgid "Start Color"
-msgstr ""
+msgstr "Cor Inicial"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:229
 msgid "Used as the start of the resulting gradient"
-msgstr ""
+msgstr "Usada como o começo do gradiente resultante"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:233
 msgid "End Color"
-msgstr ""
+msgstr "Cor Final"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:234
 msgid "Used as the end of the resulting gradient"
-msgstr ""
+msgstr "Usada como o fim do gradiente resultante"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
-msgstr ""
+msgstr "Tentando obter o inverso de um Nó de Valor não inversível"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
-msgstr ""
+msgstr "O nó de valor usado para escalar"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
-msgstr ""
+msgstr "Valor que multiplica o nó de valor"
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segmento"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
-msgstr ""
+msgstr "O Segmento ao qual a tangente é vinculada"
 
 #: src/synfig/valuenode_segcalctangent.cpp:162
 msgid "The position of the linked tangent on the Segment (0,1]"
-msgstr ""
+msgstr "A posição da tangente vinculada no Segmento (0,1]"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:155
 msgid "The Segment where the vertex is linked to"
-msgstr ""
+msgstr "O Segmento ao qual o vértice é vinculado"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:160
 msgid "The position of the linked vertex on the Segment (0,1]"
-msgstr ""
+msgstr "A posição do vértice vinculado no Segmento (0,1]"
 
 #: src/synfig/valuenode_sine.cpp:155
 msgid "The angle where the sine is calculated from"
-msgstr ""
+msgstr "O ângulo a partir do qual o seno é calculado "
 
 #: src/synfig/valuenode_sine.cpp:160
 msgid "The value that multiplies the resulting sine"
-msgstr ""
+msgstr "O valor que multiplica o seno resultante"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
-msgstr ""
+msgstr "O nó de valor usado para fazer o passo"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
-msgstr ""
+msgstr "A duração do passo"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
-msgstr ""
+msgstr "Tempo Inicial"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
-msgstr ""
+msgstr "O tempo quando a conversão do passo começa"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
-msgstr ""
+msgstr "Interseção"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
-msgstr ""
+msgstr "Valor que define se o passo é centralizado no valor [0,1]"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr ""
+msgstr "Cor 1"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
-msgstr ""
+msgstr "Uma cor das listras do gradiente"
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr ""
+msgstr "Cor 2"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
-msgstr ""
+msgstr "Outra cor das listras do gradiente"
 
 #: src/synfig/valuenode_stripes.cpp:199
 msgid "Stripe Count"
-msgstr ""
+msgstr "Contagem de Listras"
 
 #: src/synfig/valuenode_stripes.cpp:200
 msgid "Number of stripes in the gradient"
-msgstr ""
+msgstr "Número de listras no gradiente"
 
 #: src/synfig/valuenode_stripes.cpp:205
 msgid "Width of stripes in the gradient between [0,1]"
-msgstr ""
+msgstr "Largura das listras no gradiente entre [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
-msgstr ""
+msgstr "Lado Esquerdo da subtração"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
-msgstr ""
+msgstr "Lado Direito da subtração"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
-msgstr ""
+msgstr "Valor que multiplica a subtração"
 
 #: src/synfig/valuenode_switch.cpp:153
 msgid "Link Off"
-msgstr ""
+msgstr "Vínculo Desligado"
 
 #: src/synfig/valuenode_switch.cpp:154
 msgid "The value node returned when the switch is off"
-msgstr ""
+msgstr "O nó de valor retornado quando o interruptor está desligado"
 
 #: src/synfig/valuenode_switch.cpp:158
 msgid "Link On"
-msgstr ""
+msgstr "Vínculo Ligado"
 
 #: src/synfig/valuenode_switch.cpp:159
 msgid "The value node returned when the switch is on"
-msgstr ""
+msgstr "O nó de valor retornado quando o interruptor está ligado"
 
 #: src/synfig/valuenode_switch.cpp:164
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
+"Quando marcada, retorna 'Vínculo Ligado', do contrário retorna 'Vínculo "
+"Desligado'"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
+"O nó de valor retornado quando tempo atual é anterior a 'tempo' - "
+"'comprimento'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
-msgstr ""
+msgstr "O nó de valor retornado quando o tempo atual está após 'tempo'"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Tempo"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
-msgstr ""
+msgstr "O tempo quando a interpolação linear termina"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
 msgstr ""
+"A extensão de tempo quando a interpolação linear é feita entre 'Antes' e "
+"'Depois'"
 
 #: src/synfig/valuenode_timeloop.cpp:175
 msgid "The value node to time loop"
-msgstr ""
+msgstr "O nó de valor para o laço de tempo"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr ""
+msgid "Start time of the loop for the value node Timeline"
+msgstr "Iniciar tempo do loop para a linha de tempo do nó de valor"
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr "Comprimento do loop"
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
-msgstr ""
+msgstr "O tempo que é convertido para sequência"
 
 #: src/synfig/valuenode_twotone.cpp:154
 msgid "The start color of the gradient"
-msgstr ""
+msgstr "A cor inicial do gradiente"
 
 #: src/synfig/valuenode_twotone.cpp:159
 msgid "The end color of the gradient"
-msgstr ""
+msgstr "A cor final do gradiente"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Vetor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
-msgstr ""
+msgstr "O vetor a partir do qual o ângulo é calculado"
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
-msgstr ""
+msgstr "O vetor a partir do qual o comprimento é calculado"
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
-msgstr ""
+msgstr "O vetor a partir do qual a coordenada X é extraída"
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
-msgstr ""
+msgstr "O vetor a partir do qual a coordenada Y é extraída"
+
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr "média ponderada"
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
-msgstr ""
+msgstr "Ponto de Largura %03d"
+
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr "ponderada"
 
-#: src/tool/main.cpp:141
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
-msgstr ""
+msgstr "FATAL: Incompatibilidade de Versão do Synfig"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Definições"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
-msgstr ""
+msgstr "Especificar destino de saída (Padrão: PNG)"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
+"Definir a largura da imagem em pixels (Usar zero para padrão do arquivo)"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
+"Definir a altura da imagem em pixels (Usar zero para padrão do arquivo)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
-msgstr ""
+msgstr "Definir o tamanho diagonal da janela da imagem (Vão)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
-msgstr ""
+msgstr "Definir quantidade de antisserrilha para renderizador paramétrico."
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
+"Especifica qualidade da imagem para renderizador acelerado (Padrão: %d)"
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gama"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
+"Habilita renderizador multiprocessado usando o número especificado de threads"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
-msgstr ""
+msgstr "Especificar nome de arquivo de entrada"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr ""
+msgstr "Especificar nome de arquivo de saída"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
+"Cadeia separadora de sequência de arquivo de saída (Usar aspas duplas se "
+"deseja usar espaços)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
-msgstr ""
+msgstr "Renderizar a tela com o id dado ao invés da raiz."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr ""
+msgstr "Definir a taxa de quadros"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
-msgstr ""
+msgstr "Renderizar um quadro único em <segundos>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
-msgstr ""
+msgstr "Definir o tempo inicial"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr ""
+msgstr "Definir o tempo final"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Definir a resolução física (Pontos-por-polegada)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Definir a resolução física X (Pontos-por-polegada)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Definir a resolução física Y (Pontos-por-polegada)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
-msgstr ""
+msgstr "Opções de Alternância"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
-msgstr ""
+msgstr "Nível de detalhamento da saída"
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
-msgstr ""
+msgstr "Modo silencioso (Nenhuma exibição de progresso/tempo restante)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
-msgstr ""
+msgstr "Imprimir valores de referência"
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
-msgstr ""
+msgstr "Extrair alfa"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
-msgstr ""
+msgstr "Opções de Misc"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
-msgstr ""
+msgstr "Anexar camadas no <nome de arquivo> para composição"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
-msgstr ""
+msgstr "Imprimir detalhes específicos da tela raiz"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
-msgstr ""
+msgstr "Imprimir a lista de telas exportadas na composição"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
-msgstr ""
+msgstr "Opções de destino FFMPEG"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
-msgstr ""
+msgstr "Define o codec para o vídeo. Veja --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
-msgstr ""
+msgstr "Define a taxa de bits para a saída de vídeo"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
-msgstr ""
+msgstr "Opções de informação do Synfig"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
-msgstr ""
+msgstr "Produz esta mensagem de ajuda"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr ""
+msgstr "Imprimir a lista de importadores disponíveis"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
-msgstr ""
+msgstr "Imprimir informação do misc build"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr ""
+msgstr "Imprimir a lista de camadas disponíveis"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr ""
+msgstr "Imprimir descrição da camada, informação de parâmetro, etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr ""
+msgstr "Imprimir informação de licença"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr ""
+msgstr "Imprimir a lista de módulos carregados"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr ""
+msgstr "Imprimir a lista de alvos disponíveis"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
+"Imprime a lista de codecs de vídeo disponíveis ao codificar através do FFMPEG"
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
-msgstr ""
+msgstr "Imprimir a lista de Nós de Valor disponíveis"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr ""
+msgstr "Imprimir informação de versão"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
-msgstr ""
+msgstr "Bandeiras de depuração do Synfig"
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
-msgstr ""
+msgstr "Testar geração de GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
+msgstr "Testar implementação de sinal"
+
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Nada a fazer!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "Tentando determinar destino/saída..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "Nome de destino indefinido, tentando descobri-lo"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "Padronizando para destino PNG..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
-msgstr ""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
+msgstr "Não é possível criar saída para \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "Jogando o trabalho fora..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Criando o destino..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
-msgstr ""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
+msgstr "Destino desconhecido para \"%s\": %s"
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Definindo a tela no destino..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Definindo a qualidade do destino..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
-msgstr ""
+msgstr "Definir o modo alfa do destino..."
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
-msgstr ""
+msgstr "Falha do Renderizador"
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Renderizando..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
-msgstr ""
+msgstr ": Renderizado em"
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr "segundos."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Feito."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Variável de tela não reconhecida:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Variáveis reconhecidas são:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "detalhamento definido para"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
-msgstr ""
+msgstr "Threads definidas para"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
-msgstr ""
+msgstr "Nome da Camada:"
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Nome da Camada Localizada:"
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "Versão:"
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
-msgstr ""
+msgstr "parâmetro -"
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
-msgstr ""
+msgstr "(não crítico)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
-msgstr ""
+msgstr "\tNome Localizado: "
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\tDescrição: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "\tDica: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "Antisserrilhamento definido para %d, (%d amostras por pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "Vão definido para %d unidades"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "Taxa de quadros definida para %d quadros por segundo"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Resolução física definida para %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Resolução física X definida para %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Resolução física Y definida para %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "Quadro renderizando em"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
-msgstr ""
+msgstr "Argumento do Gama é atualmente ignorado"
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
-msgstr ""
+msgid "Resolution set to %dx%d."
+msgstr "Resolução definida para %dx%d."
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
-msgstr ""
+msgstr "Ambos os parâmetros de codec de vídeo e taxa de bits são necessários."
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
-msgstr ""
+msgstr "Codec de vídeo \"%s\" não é suportado."
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
-msgstr ""
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
+msgstr "Codec de vídeo do destino definido para:"
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
-msgstr ""
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
+msgstr "Taxa de bits do destino definida para:"
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
-msgstr ""
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
+msgstr "Separador de sequência do arquivo de saída definido para: '"
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
-msgstr ""
+msgid "Unable to load file '%s'."
+msgstr "Não é possível carregar o arquivo '%s'."
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
-msgstr ""
+msgstr "Nenhum arquivo de entrada fornecido."
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
-msgstr ""
+msgstr "Destino definido para"
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Qualidade definida para"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
+"Não é possível encontrar tela com ID \"%s\" em %s.\n"
+"Jogando o trabalho fora..."
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
+"Nome de tela inválido \"%s\" em %s.\n"
+"Jogando o trabalho fora..."
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Não é possível anexar '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Conteúdos anexados de"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Tempo Final"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Taxa de Quadros"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Quadro Inicial"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Quadro Final"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Taxa de Amostragem da Imagem"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Largura do Pixel"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Altura do Pixel"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Taxa de Amostragem do Pixel"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Esquerda Superior"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Direita Inferior"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Largura Física"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Altura Física"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Resolução de X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Resolução de Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Vão Diagonal da Imagem"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "Entrelaçado"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Antisserrilha"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "Bandeiras"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Foco"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Cor de Fundo"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Metadados"
diff --git a/po/ro.gmo b/po/ro.gmo
index 8ff45ef..48273b3 100644
Binary files a/po/ro.gmo and b/po/ro.gmo differ
diff --git a/po/ro.po b/po/ro.po
index 5d3a043..7febc83 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Romanian (http://www.transifex.com/projects/p/synfig/language/"
 "ro/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
 "2:1));\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Exemplu"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Culoare"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punctul 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Primul colţ al dreptunghiului"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punctul 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Al doilea colţ al dreptunghiului"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Mijlocul cercului"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Raza cercului"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Aceasta este raza cercului"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Altele"
 
@@ -199,6 +50,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr "Nu se poate reda"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Culoare"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Culoarea textului"
@@ -213,6 +75,7 @@ msgstr "Stil"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr "Italic"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Dimensiune"
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Arată care e distanţa verticală între rîndurile de text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr "Orientarea textului"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Origine"
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Dezactivaţi această opţiune dacă doriţi să animaţi textul"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Text prea mic, ni"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizare"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tip"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Solid"
 
@@ -429,7 +299,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,28 +338,101 @@ msgstr "Podea"
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Distorsiuni"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Punct de plecare"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Primul punct al "
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Rapid"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Numele fişierului"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,17 +440,9 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Distorsiuni"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Defineşte unde va fi centrul"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -660,7 +595,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -671,15 +606,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -695,7 +629,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Poziţie"
 
@@ -713,6 +647,17 @@ msgstr "Poziţie"
 msgid "Where the sphere distortion is centered"
 msgstr "Centrul distorsiunii sferice"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Raza cercului"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Mărimea distorsiunii sferice"
@@ -755,6 +700,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -775,50 +728,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Înălţime"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Buclă temporală"
@@ -831,40 +773,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durată"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Lungimea buclei"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Simetric"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Tradu"
 
@@ -872,6 +814,19 @@ msgstr "Tradu"
 msgid "Twirl"
 msgstr "Răsucire"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Mijlocul cercului"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Aceasta este raza cercului"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotaţii"
@@ -952,58 +907,6 @@ msgstr "Orizont"
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Punct de plecare"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Primul punct al "
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Rapid"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Tipar XOR"
@@ -1016,10 +919,11 @@ msgstr "Centrul tiparului"
 msgid "Size of the pattern"
 msgstr "Mărimea tiparului"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1031,59 +935,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1095,30 +999,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Exemplu"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punctul 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Primul colţ al dreptunghiului"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punctul 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Al doilea colţ al dreptunghiului"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1131,7 +1140,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1211,125 +1220,54 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
+msgstr "Tip"
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Culoare"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1372,37 +1310,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1441,7 +1379,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1487,6 +1425,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1563,7 +1572,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1571,7 +1582,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1587,12 +1598,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1611,7 +1622,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1628,7 +1639,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1647,24 +1658,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1675,11 +1687,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1708,54 +1720,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1788,7 +1805,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1804,16 +1821,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1843,7 +1860,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1871,54 +1888,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1983,6 +2002,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1990,8 +2010,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2044,66 +2064,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Culoare"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2123,24 +2250,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2180,7 +2308,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2204,56 +2332,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2261,11 +2380,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2277,479 +2396,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2787,8 +2976,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2828,13 +3017,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2850,12 +3039,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2877,23 +3066,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2911,32 +3100,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2945,8 +3130,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2954,333 +3139,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3289,45 +3390,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3351,74 +3458,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3438,228 +3598,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3674,32 +4047,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3716,6 +4253,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3724,58 +4273,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3804,27 +4383,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3840,58 +4407,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3923,7 +4466,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3960,16 +4503,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -4002,27 +4545,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4054,15 +4597,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4086,24 +4629,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4114,10 +4657,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4129,229 +4676,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4364,320 +4923,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/ru.gmo b/po/ru.gmo
index a958106..3befcb4 100644
Binary files a/po/ru.gmo and b/po/ru.gmo differ
diff --git a/po/ru.po b/po/ru.po
index 130afb2..bcb2a5f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,24 +1,25 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Artem Krosheninnikov <feeblehamster at gmail.com>, 2011
 # genete <genetita at gmail.com>, 2011
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011, 2012
+# morevnaproject <ksee.zelgadis at gmail.com>, 2014-2015
 # morevnaproject <ksee.zelgadis at gmail.com>, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011-2012
 # Oleg Gordeev <Retro47 at Yandex.ru>, 2011
-# prokoudine <alexandre.prokoudine at gmail.com>, 2010
-# zurba11 <zurbaxi at gmail.com>, 2013
-# prokoudine <alexandre.prokoudine at gmail.com>, 2010
+# Alexandre Prokoudine <alexandre.prokoudine at gmail.com>, 2010
+# Tim <zurbaxi at gmail.com>, 2013
+# Alexandre Prokoudine <alexandre.prokoudine at gmail.com>, 2010
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-29 16:26+0000\n"
-"Last-Translator: zurba11 <zurbaxi at gmail.com>\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-13 05:35+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Russian (http://www.transifex.com/projects/p/synfig/language/"
 "ru/)\n"
 "Language: ru\n"
@@ -28,166 +29,17 @@ msgstr ""
 "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"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Залитый прямоугольник"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Примеры"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Цвет"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Цвет заливки слоя"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Точка 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Первый угла прямоугольника"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Точка 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Второй угол прямоугольника"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "Растушёвка по X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Растушёвка по Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Фаска"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Использовать фаску для углов"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Оставлять фаску круглой"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "Когда включено, фаска округлая"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Градиент"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Шары"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Радиусы"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Вес"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Градиент слева"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Градиент справа"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Только положительные"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Простой круг"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Центр"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Центр окружности"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Радиус"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Радиус окружности"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Текст"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Прочие"
 
@@ -207,6 +59,17 @@ msgstr "пустой набор шрифтов"
 msgid "Text to Render"
 msgstr "Отрисовываемый текст"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Цвет"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Цвет текста"
@@ -221,6 +84,7 @@ msgstr "Начертание"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Обычное"
 
@@ -233,6 +97,7 @@ msgid "Italic"
 msgstr "Курсивное"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Насыщенность"
 
@@ -273,8 +138,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Как близко строки находятся друг к другу"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -294,16 +159,17 @@ msgid "Text Orientation"
 msgstr "Ориентация текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Исходная точка"
 
@@ -337,96 +203,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Включите эту опцию, если вы собираетесь анимировать текст"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Инвертировать"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Начертание не загружено, текст не будет отрисован."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Текст не будет визуализирован, т.к. размер текста слишком мал."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Невозможно установить кегль шрифта."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Недопустимая многобайтовая последовательность - это локальный набор?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Невозможно разобрать многобайтовый символ.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Фаска"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Стилизация"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Тип"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Тип используемого размывания"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Квадратичное размытие"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Быстрое гауссово размытие"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Перекрестное размытие"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Гауссово размытие"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Дисковое размытие"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Цвет света"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Цвет тени"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Угол освещения"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Глубина фаски"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Мягкость"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Светимость"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Сплошной"
 
@@ -438,7 +309,7 @@ msgstr "Набор региона"
 msgid "Set of regions to combine"
 msgstr "Набор регионов для объединения"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Куча"
 
@@ -477,28 +348,101 @@ msgstr "Пол"
 msgid "Lower boundary of the clamping"
 msgstr "Нижняя граница кучи"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Деформация по кривой"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Искажение"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Ширина"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Насколько будет расширен результат перпендикулярно линии источника"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Начальная точка"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Первая точка линии источника"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Конечная точка"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Последняя точка линии источника"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Вершины"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Быстрая отрисовка"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "При включении отрисовывает быстро, но с артефактами"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Импорт изображения"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Имя файла уже указано - \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Имя файла"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Импортируемый файл"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Смещение во времени"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Смещение времени для применения к импортируемому файлу"
 
@@ -506,17 +450,9 @@ msgstr "Смещение времени для применения к импо
 msgid "Inside Out"
 msgstr "Наизнанку"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Искажение"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Определяет, где должен быть центр"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -669,7 +605,7 @@ msgstr "Смещение снаружи"
 msgid "Scale Outside"
 msgstr "Масштаб снаружи"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Вращение"
 
@@ -680,15 +616,14 @@ msgstr "Преобразование"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Укажите, где вы хотите разместить точку центра"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -704,7 +639,7 @@ msgstr "Угол вращения"
 msgid "Shade"
 msgstr "Тень"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Размер тени"
 
@@ -714,7 +649,7 @@ msgid "Spherize"
 msgstr "Сферизация"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Положение"
 
@@ -722,6 +657,17 @@ msgstr "Положение"
 msgid "Where the sphere distortion is centered"
 msgstr "Где находится центр сферического искажения"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Радиус"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Размер сверического искажения"
@@ -762,6 +708,14 @@ msgstr "Растяжение"
 msgid "Size of the stretch relative to its Center"
 msgstr "Размер растяжения относительно его центра"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Центр"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Где находится центр растяжения"
@@ -782,50 +736,39 @@ msgstr "Частота мерцаний в секунду"
 msgid "Super Sample"
 msgstr "Сглаживание"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Не удается создать Поверхность цели"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Ширина"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Ширина площади образца (в пикселях)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Высота"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Высота площади образца (в пикселях)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Использовать параметрический"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Использовать параметрический отрисовщик"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Не затрагивать прозрачность"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "При включении позволяет избежать помех от прозрачности"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Петля времени"
@@ -838,40 +781,40 @@ msgstr "Время связывания"
 msgid "Start time of the loop for the cycled context"
 msgstr "Время начала цикла для замкнутого контекста"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Локальное время"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Время, когда начинается результирующий цикл"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Длительность"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Длина цикла"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Только для положительной длительности"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "При включении замыкаются только положительные последовательности"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Симметрично"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "При включении, циклы отражаются с центром в точке Местное Время"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Перемещение"
 
@@ -879,6 +822,19 @@ msgstr "Перемещение"
 msgid "Twirl"
 msgstr "Вихрь"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Центр окружности"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Радиус окружности"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Вращение"
@@ -955,58 +911,6 @@ msgstr "Горизонт"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Высота, определяющая горизонт в перспективе"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Деформация по кривой"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Насколько будет расширен результат перпендикулярно линии источника"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Начальная точка"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Первая точка линии источника"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Конечная точка"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Последняя точка линии источника"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Вершины"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Быстро"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "При включении отрисовывает быстро, но с артефактами"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Узор Исключающего ИЛИ"
@@ -1019,12 +923,13 @@ msgstr "Центр шаблона"
 msgid "Size of the pattern"
 msgstr "Размер шаблона"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "Масштаб"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
@@ -1034,59 +939,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Не удалось открыть %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "Файл %s сохранён не в формате BMP"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Чтение сжатых изображений не поддерживается"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Не удалось открыть файл"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Не удалось записать заголовок файла в файл"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Не удалось записать информационный заголовок"
 
@@ -1098,35 +1003,137 @@ msgstr "Не удалось записать информационный заг
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Залитый прямоугольник"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Примеры"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Цвет заливки слоя"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Точка 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Первый угла прямоугольника"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Точка 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Второй угол прямоугольника"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Растушёвка по X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Растушёвка по Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Использовать фаску для углов"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Оставлять фаску круглой"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Когда включено, фаска округлая"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Градиент"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Шары"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Радиусы"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Вес"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Градиент слева"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Градиент справа"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Только положительные"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Простой круг"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Не удалось открыть файл"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Не удалось открыть файл"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Не удалось открыть файл"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1137,7 +1144,7 @@ msgstr "Размывание"
 msgid "Blurs"
 msgstr "Размывание"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Величина размывания"
 
@@ -1251,13 +1258,13 @@ msgstr "Величина размывания"
 msgid "Fade Out"
 msgstr "Спадание"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Шахматная доска"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1265,77 +1272,6 @@ msgstr "Шахматная доска"
 msgid "Geometry"
 msgstr "Геометрия"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Цвет шахматных клеток"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Размер шахматных клеток"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Окружность"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Радиус круга"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Растушёвка"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Инвертировать окружность"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Затухание"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Определяет функцию затухания для растушевки"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Линейная"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Квадратичная"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Квадратный корень"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Косинус"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1370,59 +1306,59 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
-msgstr ""
+msgstr "Тип закругления в начале"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
-msgstr ""
+msgstr "Определяет тип закругления первой точки у не замкнутой кривой"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
-msgstr ""
+msgstr "Тип закругления в конце"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
-msgstr ""
+msgstr "Определяет тип закругления последней точки у не замкнутой кривой"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
-msgstr ""
+msgstr "Тип пиков"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1168
 #: src/modules/mod_geometry/outline.cpp:852
@@ -1435,19 +1371,20 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Скругленный"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "Плавность"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
+"Определяет плавность перехода между точкам толщины. (0) Линейная (1) Плавная"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1459,31 +1396,32 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
-msgstr ""
+msgstr "Список точек толщины"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
-msgstr ""
+msgstr "Список точек толщины определяющих толщину кривой в определённых местах"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
+"Когда активно отрисовка контура происходит быстрее, но не так аккуратно"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr ""
+msgstr "Пунктирная линия"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr ""
+msgstr "Когда активно контур отображается пунктирной линией"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
-msgstr ""
+msgstr "Список элементов пунктира"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
-msgstr ""
+msgstr "Список элементов определяющих вид пунктирной линии"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
@@ -1493,6 +1431,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Шахматная доска"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Цвет шахматных клеток"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Размер шахматных клеток"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Окружность"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Радиус круга"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Растушёвка"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Инвертировать окружность"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Затухание"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Определяет функцию затухания для растушевки"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Линейная"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Квадратичная"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Квадратный корень"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Косинус"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Контур"
@@ -1569,7 +1578,9 @@ msgstr "Радиус внутренних точек звезды"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Угол"
 
@@ -1577,7 +1588,7 @@ msgstr "Угол"
 msgid "The orientation of the star"
 msgstr "Ориентация звезды"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Точки"
 
@@ -1593,12 +1604,12 @@ msgstr "Многоугольник"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Рисовать ли многоугольник вместо звезды"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Невозможно открыть '%s' для записи!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Описание не установлено!"
 
@@ -1617,7 +1628,7 @@ msgstr "Градиенты"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1634,7 +1645,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1653,24 +1664,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Повтор"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Зигзаг"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1681,11 +1693,11 @@ msgstr "Перпендикулярно"
 msgid "Linear Gradient"
 msgstr "Линейный градиент"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1714,54 +1726,59 @@ msgstr "По часовой стрелке"
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Нет загружаемого файла"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Не удалось открыть"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Не удалось получить кадр из "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "Поток не в формате PPM"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "Преждевременный конец файла (после заголовка)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "Преждевременный конец файла"
 
@@ -1794,7 +1811,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Интерполяция"
@@ -1810,16 +1827,16 @@ msgid "Nearest Neighbor"
 msgstr "Ближайший сосед"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Сплайн"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Кубическая"
@@ -1849,7 +1866,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Случайно"
 
@@ -1877,54 +1894,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Связь"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Зерно"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Скорость"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Без интерполяции"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1991,6 +2010,7 @@ msgstr ""
 "отрисовке используется альфа-канал 1.0"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Развернуть"
 
@@ -1998,8 +2018,8 @@ msgstr "Развернуть"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Если включено, то растение визуализируется в обратном направлении."
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Шаг"
 
@@ -2052,66 +2072,173 @@ msgstr "Использовать ширину"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s был не в формате PPM"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "угол"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Real"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "время"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Вектор"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "цвет"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "сегмент"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "холст"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "градиент"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Нет изображений в списке"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Единицы измерения"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Пикселы"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Дюймы"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Метры"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Миллиметры"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Сантиметры"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Глубина на оси Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2131,24 +2258,25 @@ msgstr "Правый нижний угол"
 msgid "Lower right-hand Corner of image"
 msgstr "Правый нижний угол изображения"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Режим смешивания"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Дубликат"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Индекс"
 
@@ -2188,7 +2316,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Константа"
 
@@ -2212,56 +2340,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Холст"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Масштабирование"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Размер холста"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Запереть потомков"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr "Заблокировать выделение"
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Точка фокусировки"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Центр масштабирования"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Текущее время"
 
@@ -2269,11 +2388,11 @@ msgstr "Текущее время"
 msgid "Polygon"
 msgstr "Многоугольник"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2285,480 +2404,552 @@ msgstr "Фигура"
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Сглаживание"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Тип растушевки"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Используемый тип растушевки"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Обработка взаимопересечений"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Применяемая обработка взаимопересечений"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Ненулевые"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Чёт/Нечет"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Скелет"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Name"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Кости"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Сплошная заливка"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Скругленный"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Не удалось открыть файл"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Переключатель"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Имя активного слоя"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "Слишком много предупреждений"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Некорректное значение \"%s\" в <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "У <waypoint> отсутствует атрибут \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "У <waypoint> найден заполненный атрибут \"use\". Содержимое игнорируется..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "В <%s> отсутствуют данные"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' уже определено в <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "у элемента <%s> нет содержимого"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Разбор '%s' завершился неудачей"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Некорректные данные в <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Некорректный ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Не удалось открыть файл"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Не удалось открыть файл списка модулей \"%s\""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "ГОТОВО"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "ошибка"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Не удалось загрузить модуль \"%s\""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Попытка зарегистрировать \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Невозможно найти модуль \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Найден модуль \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2796,8 +2987,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2837,13 +3028,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Сумма"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Вычитание"
 
@@ -2859,12 +3050,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Тон"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Насыщенность"
 
@@ -2886,25 +3077,25 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Ошибка при инициализации цели"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
@@ -2920,32 +3111,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2954,8 +3141,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2963,333 +3150,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "Reference"
+
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
+msgid "Segment Tangent"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "угол"
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
+msgid "Segment Vertex"
+msgstr "Вершина сегмента"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "время"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "цвет"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "сегмент"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "холст"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "градиент"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
-msgid "Segment Tangent"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
-msgid "Segment Vertex"
-msgstr "Вершина сегмента"
-
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "динамический список"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Синус"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Экспонента"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Диапазон"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Переключатель"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Косинус"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Обратное значение"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Целое"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
-msgstr ""
+msgstr "Толщина кривой"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Угол вектора"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Длина вектора"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Цвет градиента"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Скалярное произведение"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Real"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Объединённый список"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Логарифм"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Заблокированный"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Степень"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "НЕ"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "И"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "ИЛИ"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "Кость"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Заглушка"
 
@@ -3298,45 +3401,51 @@ msgstr "Заглушка"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "LHS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "RHS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3360,74 +3469,127 @@ msgstr "Связь 2"
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Точность"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Нет записей в списке"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Нет записей в ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Вершина %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Смещение"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Фиксированная длина"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3459,256 +3621,633 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Красный"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Зеленый"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Синий"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Прозрачность"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Вершина 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
-msgid "Tangent 1"
-msgstr "Касательная 1"
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
+msgid "Tangent 1"
+msgstr "Касательная 1"
+
+#: src/synfig/valuenode_composite.cpp:655
+msgid "The first tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:658
+msgid "Vertex 2"
+msgstr "Вершина 2"
+
+#: src/synfig/valuenode_composite.cpp:659
+msgid "The second vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
+msgstr "Касательная 2"
+
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr "Вершина"
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "Интерполировать"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Длина"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Value"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
-msgid "The first tangent of the segment"
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
-msgid "Vertex 2"
-msgstr "Вершина 2"
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
-msgid "The second vertex of the segment"
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
-msgstr "Касательная 2"
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Амплитуда"
 
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
-msgstr "Вершина"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "От"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "До"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Длина"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Амплитуда"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "От"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "До"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3725,6 +4264,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3733,58 +4284,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "До"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Разделитель"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "После"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "Частота"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "НЕ"
@@ -3813,29 +4394,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Luma"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3849,58 +4418,34 @@ msgstr "Тета"
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Мин"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Макс"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Точность"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3932,7 +4477,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3969,16 +4514,16 @@ msgstr "Конечная опорная точка"
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -4011,27 +4556,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Время начала"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Пересечение"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4063,15 +4608,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4095,24 +4640,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Время"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4123,10 +4668,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4138,229 +4687,241 @@ msgstr "Начальный цвет градиента"
 msgid "The end color of the gradient"
 msgstr "Конечный цвет градиента"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr "Вектор"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "Фатальная ошибка: несовпадение версий Synfig"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Settings"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Задать размер окна изображения по диагонали"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Задать силу сглаживания для параметрического отрисовщика"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "Указать имя выводимого файла"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Отрисовать холст с указанным ID вместо корневого холста"
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "Задать частоту кадров в секунду"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "Отрисовать один кадр за это количество секунд"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "Задать время начала"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "Задать время конца"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Использовать менее подробный вывод (без отчёта о прогрессе)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "Добавить слои из <filename> в композицию"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "Вывести указанные данные о корневом холсте"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "Вывести список доступных фильтров импорта"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "Вывести информацию о сборке"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "Вывести список доступных слоёв"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Вывести описание слоя, данные о параметрах и т.д."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "Вывести информацию о лицензии"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "Вывести список загруженных модулей"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "Вывести список доступных целей"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "Вывести информацию о версии"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4373,320 +4934,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "Создаётся цель..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "Задаётся холст для цели..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "Задаётся качество цели..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Rendering..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Done."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Не распознана переменная холста:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Распознанные переменные:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "Физическое разрешение указано равным %f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "Физическое разрешение по X указано равным %f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "Физическое разрешение по Y указано равным %f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Качество указано равным "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "Не удалось добавить в конец '"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "Добавлено в конец содержимое "
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Время завершения"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Частота кадров"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Кадра начала"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Кадр конца"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Соотношение сторон изображения"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Ширина пиксела"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Высота пиксела"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Соотношение сторон пиксела"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Верхний левый"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Нижний правый"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Физическая ширина"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Физическая высота"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Разрешение по X"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Разрешение по Y"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Фокус"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Цвет фона"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Метаданные"
diff --git a/po/si.gmo b/po/si.gmo
index 095528a..38aafce 100644
Binary files a/po/si.gmo and b/po/si.gmo differ
diff --git a/po/si.po b/po/si.po
index e20980d..1d589e0 100644
--- a/po/si.po
+++ b/po/si.po
@@ -1,16 +1,16 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# mahesha <mpolkotuwa at gmail.com>, 2013
-# mahesha <mpolkotuwa at gmail.com>, 2013
+# bjuuhuiujol <mpolkotuwa at gmail.com>, 2013
+# bjuuhuiujol <mpolkotuwa at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Sinhala (http://www.transifex.com/projects/p/synfig/language/"
 "si/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "උදාහරණ"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "පාට"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -199,6 +50,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "පාට"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -213,6 +75,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -429,7 +299,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -468,28 +338,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,16 +440,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -660,7 +595,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -671,15 +606,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -695,7 +629,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -713,6 +647,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -753,6 +698,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -773,50 +726,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -829,40 +771,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -870,6 +812,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -946,58 +901,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,10 +913,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,30 +993,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "උදාහරණ"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1125,7 +1134,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1207,123 +1216,52 @@ msgstr ""
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "පාට"
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1366,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1435,7 +1373,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1481,6 +1419,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1557,7 +1566,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1565,7 +1576,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1581,12 +1592,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1605,7 +1616,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1622,7 +1633,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1641,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1669,11 +1681,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1702,54 +1714,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1782,7 +1799,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1798,16 +1815,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1837,7 +1854,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1865,54 +1882,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1977,6 +1996,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1984,8 +2004,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2038,66 +2058,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "පාට"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2117,24 +2244,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2174,7 +2302,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2198,56 +2326,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2255,11 +2374,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2271,479 +2390,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2781,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2822,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2844,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2871,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2905,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2939,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2948,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3283,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3345,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3432,228 +3592,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3668,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3710,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3718,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3798,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3834,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3917,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3954,16 +4497,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3996,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4048,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4080,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4108,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4123,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4358,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/sk_SK.gmo b/po/sk_SK.gmo
index bfa20ed..1f63a30 100644
Binary files a/po/sk_SK.gmo and b/po/sk_SK.gmo differ
diff --git a/po/sk_SK.po b/po/sk_SK.po
index 48945c1..403b108 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/synfig/"
 "language/sk_SK/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Vyplnený obdĺžnik"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Príklad"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Farba"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Vyplň farbu vrstvy"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Bod 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Prvý kút obdlžníka"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Bod 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Druhý kút obdlžníka"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Jednoduchý kruh"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Centrum"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Centrum kruhu"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Ostatné/Iné"
 
@@ -198,6 +49,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr "Text na renderovanie"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Farba"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Farba textu"
@@ -212,6 +74,7 @@ msgstr "Štýl"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normálne"
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr "Krivé"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Váha"
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Popisuje ako blízko sú riadky textu zvisle"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr "Orientácia textu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Pôvod"
 
@@ -327,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Toto vypnite ak idete animovať text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "Obráť"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Text je príliš malý, preto žiadny nebude vyrenderovaný/vykreslený"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Typ rozmazania, ktorý použiť"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "Svetlosť"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -428,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -467,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Importuj obrázok"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -659,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -670,21 +605,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Hodnota"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -694,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -704,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -712,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Polomer"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -752,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Centrum"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -772,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -828,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -869,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Centrum kruhu"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -945,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1009,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1024,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Nedá sa otvoriť súbor"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1088,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Vyplnený obdĺžnik"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Príklad"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Vyplň farbu vrstvy"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Bod 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Prvý kút obdlžníka"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Bod 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Druhý kút obdlžníka"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Farebný prechod"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Jednoduchý kruh"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1124,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1204,125 +1213,54 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr "Typ"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Farba"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1365,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1422,7 +1360,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Zaguľatené"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
@@ -1434,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1480,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Rozmazanie"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Pokles"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Definuje pokles funkcie rozmazania"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Lineárna"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Kvadratická"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "odmocnina"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Esovitá"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "kosínus"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1556,17 +1565,19 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Uhol"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Body"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1574,18 +1585,18 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Pravidelný mnohouholník"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1604,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1621,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1640,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Slučka"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1668,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1701,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1781,10 +1798,10 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolácia"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
@@ -1797,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1836,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1864,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Prepoj"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1976,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1983,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2037,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "Reálny"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "Vektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Farba"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Plátno"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Jednotky"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Pixle"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "Palce"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Metre"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetre"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Centimetre"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Hĺbka Z"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2116,26 +2243,27 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Spôsob zmiešania"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Duplikuj"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
-msgstr ""
+msgstr "Index"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
@@ -2173,9 +2301,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "Konštantne"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2197,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Plátno"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2254,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2270,479 +2389,551 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Meno"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Zaguľatené"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Nedá sa otvoriť súbor"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "Uzol hodnôt"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2780,8 +2971,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2821,13 +3012,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2843,14 +3034,14 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Odtieň"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Sýtosť"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
@@ -2870,25 +3061,25 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Zlyhala inicializácia cieľa"
 
 #: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
@@ -2904,32 +3095,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2938,8 +3125,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2947,333 +3134,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Referencie"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Celé číslo"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Reálny"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3282,45 +3385,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3344,74 +3453,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3443,216 +3605,429 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Červená"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Zelená"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Modrá"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
-msgstr ""
+msgstr "Vlož"
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Dĺžka"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Hodnota"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3667,32 +4042,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3709,6 +4248,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3717,58 +4268,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3797,29 +4378,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Svetlosť"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3833,58 +4402,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3916,7 +4461,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3953,23 +4498,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3995,27 +4540,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4047,15 +4592,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4079,24 +4624,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Čas"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4107,10 +4652,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4122,229 +4671,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Vektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Nastavenia"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gama"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4357,320 +4918,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Renderuje sa..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Hotovo."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/sr_RS.gmo b/po/sr_RS.gmo
new file mode 100644
index 0000000..875ea55
Binary files /dev/null and b/po/sr_RS.gmo differ
diff --git a/po/el_GR.po b/po/sr_RS.po
similarity index 56%
copy from po/el_GR.po
copy to po/sr_RS.po
index 15d65da..c6deca0 100644
--- a/po/el_GR.po
+++ b/po/sr_RS.po
@@ -1,545 +1,480 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011-2012
+# Jay Alexander Fleming <tito.nehru.naser at gmail.com>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/synfig/"
-"language/el_GR/)\n"
-"Language: el_GR\n"
+"Language-Team: Serbian (Serbia) (http://www.transifex.com/projects/p/synfig/"
+"language/sr_RS/)\n"
+"Language: sr_RS\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"
-
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Παράδειγμα"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Χρώμα"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Χρώμα γεμίσματος της στρώσης"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Σημείο 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Σημείο 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Κέντρο"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Κέντρο του κύκλου"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Ακτίνα"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Αυτή είναι η ακτίνα του κύκλου"
+"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"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "Κείμενο"
+msgstr "Текст"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr "Άλλο"
+msgstr "Остало"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Στρώση κειμένου"
+msgstr "Текстуални слој"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "αδυναμία αρχικοποίησης"
+msgstr "не могу да покренем"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
-msgstr ""
+msgstr "празан скуп словолика"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
-msgstr ""
+msgstr "Текст за стварање"
+
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Боја"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "Боја текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "Породица словолика"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr "Στυλ"
+msgstr "Облик"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "Обично"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
-msgstr ""
+msgstr "Накошено"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "Косо"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
-msgstr ""
+msgstr "Дебљина"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
-msgstr ""
+msgstr "Баш танко"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
-msgstr ""
+msgstr "Танко"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr ""
+msgstr "Задебљано"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr ""
+msgstr "Баш задебљано"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
-msgstr ""
+msgstr "Предебело"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr ""
+msgstr "Међусловни размак"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
-msgstr ""
+msgstr "Одређује хоразинтални размак између знакова словолика"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr ""
+msgstr "Међуредни размак"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
-msgstr ""
+msgstr "Одређује проред између редова текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr ""
+msgstr "Величина"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr ""
+msgstr "Величина текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr ""
+msgstr "Усмереност"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr ""
+msgstr "Усмерење текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
-msgstr ""
+msgstr "Координате"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr ""
+msgstr "Положај текста"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "Словолик"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr ""
+msgstr "Назив датотеке употребљеног словолика"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
-msgstr ""
+msgstr "Уклапање слова"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
-msgstr ""
+msgstr "Омогућава или не уклапање слова (уколико га словолик подржава)"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
-msgstr ""
+msgstr "Наговештавање ивица"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
-msgstr ""
+msgstr "Онемогућите ово уколико желите да анимирате текст"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "Преокрени"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
-msgstr ""
+msgstr "Нећу стварати текст јер нисам учитао словолик."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
-msgstr ""
+msgstr "Нећу стварати текст јер је премали."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
-msgstr ""
+msgstr "Не могу да поставим величину словолика."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
-msgstr ""
+msgstr "Низ бајтова није ваљан! Да ли сте подесили „locale“ на систему?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
-msgstr ""
+msgstr "Не могу да обрадим низ бајтова карактера.\n"
+
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Искоси"
 
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
-msgstr ""
+msgstr "Уобличи"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Врста"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
-msgstr ""
+msgstr "Врста употребљеног замућења"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
-msgstr ""
+msgstr "Бокс замућење"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
-msgstr ""
+msgstr "Брзо гаусово замућење"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
-msgstr ""
+msgstr "Укрштеним линијама замућење"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "Гаусово замућење"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
-msgstr ""
+msgstr "Диск замућење"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
-msgstr ""
+msgstr "Боја "
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
-msgstr ""
+msgstr "Боја сенке"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
-msgstr ""
+msgstr "Угао светла"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
-msgstr ""
+msgstr "Ниво искошења"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
-msgstr ""
+msgstr "Мекоћа"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "Употреби светлину"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
-msgstr ""
+msgstr "Испуна"
 
 #: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
-msgstr ""
+msgstr "Скуп многоугла"
 
 #: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
-msgstr ""
+msgstr "Скуп многоуглова за спајање"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
-msgstr ""
+msgstr "Споји"
 
 #: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
 #: src/modules/mod_filter/halftone2.cpp:60
 #: src/modules/mod_filter/halftone3.cpp:60
 #: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr ""
+msgstr "Пречистачи"
 
 #: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
-msgstr ""
+msgstr "Преокрени негативно"
 
 #: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
-msgstr ""
+msgstr "Вршно спајање"
 
 #: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
-msgstr ""
+msgstr "Ако је означено употребићу вршну вредност"
 
 #: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
-msgstr ""
+msgstr "Врх"
 
 #: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
-msgstr ""
+msgstr "Горња граница спајања"
 
 #: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
-msgstr ""
+msgstr "Дно"
 
 #: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
-msgstr ""
+msgstr "Доња граница спајања"
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Изобличење кривом"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
-#, c-format
-msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Изобличавања"
 
-#: src/modules/lyr_std/import.cpp:293
-msgid "Filename"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
-msgid "File to import"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Ширина"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
-msgid "Time Offset"
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
-msgid "Time Offset to apply to the imported file"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Почетна тачка"
 
-#: src/modules/lyr_std/insideout.cpp:55
-msgid "Inside Out"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Почетна тачка дате линије"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Крајња тачка"
 
-#: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Завршна тачка дате линије"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Везице"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr "Попис тачака СП-криве у којима се уређује дата линија"
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Брзо"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "Ако је означено, стварање је брже али приказ лошији"
+
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Увези слику"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
+#, c-format
+msgid "Filename seems to already be set to \"%s\" (%s)"
+msgstr "Датотека је већ названа као „%s“ (%s)"
+
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
+msgid "Filename"
+msgstr "Назив датотеке"
+
+#: src/modules/lyr_std/import.cpp:318
+msgid "File to import"
+msgstr "Датотека за увоз"
+
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
+msgid "Time Offset"
+msgstr "Временски померај"
+
+#: src/modules/lyr_std/import.cpp:323
+msgid "Time Offset to apply to the imported file"
+msgstr "Временски померај примењен на увежену датотеке"
+
+#: src/modules/lyr_std/insideout.cpp:55
+msgid "Inside Out"
+msgstr "У-Из"
+
+#: src/modules/lyr_std/insideout.cpp:163
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
-msgstr ""
+msgstr "Јулија скуп"
 
 #: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
 msgid "Fractals"
-msgstr ""
+msgstr "Фрактали"
 
 #: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
-msgstr ""
+msgstr "Унутрашња боја"
 
 #: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
-msgstr ""
+msgstr "Боја овог скупа"
 
 #: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr ""
+msgstr "Спољна боја"
 
 #: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
-msgstr ""
+msgstr "Боја изван овог скупа"
 
 #: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
-msgstr ""
+msgstr "Померај боје"
 
 #: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
-msgstr ""
+msgstr "Понављања"
 
 #: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
@@ -552,44 +487,44 @@ msgstr ""
 #: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
-msgstr ""
+msgstr "Изобличи унутар"
 
 #: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
-msgstr ""
+msgstr "Сенка унутар"
 
 #: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
-msgstr ""
+msgstr "Испуни унутар"
 
 #: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
-msgstr ""
+msgstr "Преокрени унутар"
 
 #: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
-msgstr ""
+msgstr "Боја унутар"
 
 #: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
-msgstr ""
+msgstr "Изобличи споља"
 
 #: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
-msgstr ""
+msgstr "Сенка споља"
 
 #: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
-msgstr ""
+msgstr "Испуни споља"
 
 #: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
-msgstr ""
+msgstr "Преокрени споља"
 
 #: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
-msgstr ""
+msgstr "Боја споља"
 
 #: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
@@ -613,7 +548,7 @@ msgstr ""
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr ""
+msgstr "Манделброт скуп"
 
 #: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
@@ -623,19 +558,19 @@ msgstr ""
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
 msgid "Inside"
-msgstr ""
+msgstr "Унутар"
 
 #: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
-msgstr ""
+msgstr "Прелив унутар"
 
 #: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
-msgstr ""
+msgstr "Гранање унутар"
 
 #: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
-msgstr ""
+msgstr "Понављање унутар"
 
 #: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
@@ -646,180 +581,187 @@ msgstr ""
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
 msgid "Outside"
-msgstr ""
+msgstr "Споља"
 
 #: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
-msgstr ""
+msgstr "Прелив споља"
 
 #: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
-msgstr ""
+msgstr "Гранање споља"
 
 #: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
-msgstr ""
+msgstr "Величање споља"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
-msgstr ""
+msgstr "Врти"
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr ""
+msgstr "Претвори"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
-msgstr ""
+msgstr "Одређује где ће координате да буду"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Количина"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
-msgstr ""
+msgstr "Износ вртње"
 
 #: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
-msgstr ""
+msgstr "Сенка"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
-msgstr ""
+msgstr "Величина сенке"
 
 #: src/modules/lyr_std/sphere_distort.cpp:74
 #: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
-msgstr ""
+msgstr "Испупчи"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
-msgstr ""
+msgstr "Положај"
 
 #: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
-msgstr ""
+msgstr "Одређује где ће координате средишта испупчења да буду"
+
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Пречник"
 
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
-msgstr ""
+msgstr "Величина изобличавања испупчењем"
 
 #: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
-msgstr ""
+msgstr "Јачина изобличења (негативна вредност — обрнуто дејство)"
 
 #: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
-msgstr ""
+msgstr "Скреши"
 
 #: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
-msgstr ""
+msgstr "Ако је омогућено, делови изван круга се не изобличавају"
 
 #: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
-msgstr ""
+msgstr "Врста изобличавања"
 
 #: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
-msgstr ""
+msgstr "Усмереност изобличења"
 
 #: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
-msgstr ""
+msgstr "Усправна трака"
 
 #: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
-msgstr ""
+msgstr "Хоризонтална трака"
 
 #: src/modules/lyr_std/stretch.cpp:57
 msgid "Stretch"
-msgstr ""
+msgstr "Истезање"
 
 #: src/modules/lyr_std/stretch.cpp:106
 msgid "Size of the stretch relative to its Center"
-msgstr ""
+msgstr "Релативна величина истезања у односу на средиште"
+
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Средиште"
 
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
-msgstr ""
+msgstr "Одређује где ће координате средишта истезања да буду"
 
 #: src/modules/lyr_std/stroboscope.cpp:60
 msgid "Stroboscope"
-msgstr ""
+msgstr "Трептало"
 
 #: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
-msgstr ""
+msgstr "Учестаност"
 
 #: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
-msgstr ""
+msgstr "Бтој трептаја трептача по секунди"
 
 #: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
-msgstr ""
+msgstr "Најједноставније"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
-msgstr ""
+msgstr "Ширина показног поља (у пикселима)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
-msgstr ""
+msgstr "Висина"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
-msgstr ""
+msgstr "Висина показног поља (у пикселима)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
-msgstr ""
+msgstr "Употреби параметарског ствараоца"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
-msgstr ""
+msgstr "Врем. понављање"
 
 #: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
@@ -829,54 +771,67 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
-msgstr ""
+msgstr "Трајање"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
-msgstr ""
+msgstr "Преводи"
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
-msgstr ""
+msgstr "Вртлог"
+
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Средиште круга"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Ово је пречник круга"
 
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
-msgstr ""
+msgstr "Вртња"
 
 #: src/modules/lyr_std/twirl.cpp:125
 msgid "The number of rotations of the twirl effect"
-msgstr ""
+msgstr "Број пуних окретаја вртлога"
 
 #: src/modules/lyr_std/twirl.cpp:131
 msgid "When checked, distorts inside the circle"
@@ -888,55 +843,55 @@ msgstr ""
 
 #: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
-msgstr ""
+msgstr "Перспектива"
 
 #: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
-msgstr ""
+msgstr "Дати Г-Л"
 
 #: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
-msgstr ""
+msgstr "Горње, лево теме датог објекта"
 
 #: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
-msgstr ""
+msgstr "Дати Д-Д"
 
 #: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
-msgstr ""
+msgstr "Доње, десно теме датог објекта"
 
 #: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
-msgstr ""
+msgstr "Исход: Г-Л тачка"
 
 #: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
-msgstr ""
+msgstr "Горње, лево теме исходишта"
 
 #: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
-msgstr ""
+msgstr "Исход: Г-Д тачка"
 
 #: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
-msgstr ""
+msgstr "Горње, десно теме исходишта"
 
 #: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
-msgstr ""
+msgstr "Исход: Д-Д тачка"
 
 #: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
-msgstr ""
+msgstr "Доње, десно теме исходишта"
 
 #: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
-msgstr ""
+msgstr "Исход: Д-Л тачка"
 
 #: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
-msgstr ""
+msgstr "Доње, лево теме исходишта"
 
 #: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
@@ -946,76 +901,25 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
-msgstr ""
+msgstr "ЕКС-ИЛИ шаблон"
 
 #: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
-msgstr ""
+msgstr "Средиште шаблона"
 
 #: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
-msgstr ""
+msgstr "Величина шаблона"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "Промени димензије"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
-msgstr ""
+msgstr "Не могу да отворим %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
-msgstr ""
+msgstr "Битска дубина није подржана (bit_count=%d, дозвољено 24 or 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
-msgstr ""
+msgstr " (анимирано)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Не могу да отворим датотеку"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,63 +991,168 @@ msgstr ""
 #: src/modules/mod_dv/trgt_dv.cpp:207 src/modules/mod_dv/trgt_dv.cpp:216
 #: src/modules/mod_dv/trgt_dv.cpp:225
 msgid "Unable to open pipe to encodedv"
-msgstr ""
-
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
-msgid ""
-"Error: No FFmpeg binary found.\n"
-"\n"
-"Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
-msgstr ""
+msgstr "Не могу да отворим цев за „encodedv“"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Испуњен правоугаоник"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Пример"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Боја испуне слоја"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "1. тачка"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Горња-Лева тачка правоугаоника"
 
-#: src/modules/mod_filter/blur.cpp:69
-msgid "Blur"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "2. тачка"
 
-#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
-#: src/synfig/layer_motionblur.cpp:57
-msgid "Blurs"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Доња-Десна тачка правоугаоника"
 
-#: src/modules/mod_filter/blur.cpp:414
-msgid "Size of Blur"
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "Ш—Изблеђивање"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "В—Изблеђивање"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Искоси ивице"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Одржи кружно искошење"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Уколико је означено искошење је кружно"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Повезанe лопте"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Прелив"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Лопте"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Прост круг"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
+msgid ""
+"Error: No FFmpeg binary found.\n"
+"\n"
+"Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Не могу да отворим цев за ФФМпег (нема цеви)"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Не могу да отворим цев за ФФМпег (pid == -1)"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Не могу да отворим цев за ФФМпег (dup2( p[0], STDIN_FILENO ) == -1)"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Не могу да отворим цев за ФФМпег (неизвршено)"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Не могу да отворим цев за ФФМпег (нема датотеке)"
+
+#: src/modules/mod_filter/blur.cpp:69
+msgid "Blur"
+msgstr "Замућење"
+
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
+#: src/synfig/layer_motionblur.cpp:57
+msgid "Blurs"
+msgstr "Замућења"
+
+#: src/modules/mod_filter/blur.cpp:416
+msgid "Size of Blur"
+msgstr "Величина замућења"
+
 #: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
-msgstr ""
+msgstr "Исправка боје"
 
 #: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
-msgstr ""
+msgstr "Нијансирање"
 
 #: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
-msgstr ""
+msgstr "Светлина"
 
 #: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
-msgstr ""
+msgstr "Изражајност"
 
 #: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
@@ -1151,11 +1160,11 @@ msgstr ""
 
 #: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
-msgstr ""
+msgstr "Прилагођење гамута"
 
 #: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
-msgstr ""
+msgstr "Полутон 2"
 
 #: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
@@ -1172,40 +1181,40 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
-msgstr ""
+msgstr "Светлија боја"
 
 #: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
-msgstr ""
+msgstr "Тамнија боја"
 
 #: src/modules/mod_filter/halftone2.cpp:176
 #: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
-msgstr ""
+msgstr "Симетрично"
 
 #: src/modules/mod_filter/halftone2.cpp:177
 #: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
-msgstr ""
+msgstr "Светло на тамном"
 
 #: src/modules/mod_filter/halftone2.cpp:179
 #: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
-msgstr ""
+msgstr "Дијамант"
 
 #: src/modules/mod_filter/halftone2.cpp:180
 #: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
-msgstr ""
+msgstr "Пругасто"
 
 #: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
-msgstr ""
+msgstr "Полутон 3"
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr " Врста"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
@@ -1213,7 +1222,7 @@ msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
+msgstr " Боја"
 
 #: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
@@ -1229,100 +1238,29 @@ msgstr ""
 
 #: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
-msgstr ""
+msgstr "Кружно замућење"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
-msgstr ""
+msgstr "Величина замућења"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr ""
+msgstr "Ишчезни"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Прецизна контура"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
 #: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
+msgstr "Геометријски облици"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
@@ -1339,7 +1277,7 @@ msgstr ""
 #: src/modules/mod_geometry/advanced_outline.cpp:1140
 #: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
-msgstr ""
+msgstr "Ширина контуре"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1141
 #: src/modules/mod_geometry/outline.cpp:841
@@ -1349,7 +1287,7 @@ msgstr ""
 #: src/modules/mod_geometry/advanced_outline.cpp:1145
 #: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
-msgstr ""
+msgstr "Прошири"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1146
 #: src/modules/mod_geometry/outline.cpp:847
@@ -1366,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1423,11 +1361,11 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr ""
+msgstr "Заобљено"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "Течност стила"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
@@ -1435,7 +1373,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1481,13 +1419,84 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Круг"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Пречник круга"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Изблеђивање"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Вредност изблеђивања круга"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Преокрени круг"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Опадање"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Утврђује функцију опадања употребљену за изблеђивање"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Равномерно"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Квадрирано"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Кореновано"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Зигмонд"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Косинусно"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
-msgstr ""
+msgstr "Контура"
 
 #: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
-msgstr ""
+msgstr "Нема везица у контури"
 
 #: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
@@ -1524,23 +1533,23 @@ msgstr ""
 
 #: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
-msgstr ""
+msgstr "Прошири за"
 
 #: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
-msgstr ""
+msgstr "Преокрени"
 
 #: src/modules/mod_geometry/region.cpp:64
 msgid "Region"
-msgstr ""
+msgstr "Област"
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr ""
+msgstr "Звезда"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
-msgstr ""
+msgstr "Спољњи пречник"
 
 #: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
@@ -1548,7 +1557,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
-msgstr ""
+msgstr "Унутрашњи пречник"
 
 #: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
@@ -1557,42 +1566,44 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Угао"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
-msgstr ""
+msgstr "Усмереност кракова звезде"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Тачака"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
-msgstr ""
+msgstr "Број тачака темена звезде"
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Правилан многоугао"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
-msgstr ""
+msgstr "Избор између цртања правилног многоугла или звезде"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
-msgstr ""
+msgstr "Не могу да отворим „%s“ да приступим упису!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
-msgstr ""
+msgstr "Без описа!"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:57
 msgid "Conical Gradient"
-msgstr ""
+msgstr "Конични прелив"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
 #: src/modules/mod_gradient/curvegradient.cpp:62
@@ -1601,11 +1612,11 @@ msgstr ""
 #: src/modules/mod_gradient/spiralgradient.cpp:58
 #: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
-msgstr ""
+msgstr "Преливи"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1622,7 +1633,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1641,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Понављање"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
-msgstr ""
+msgstr "Цик-цак"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,19 +1679,19 @@ msgstr ""
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr ""
+msgstr "Равномерни прелив"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr ""
+msgstr "Кружни прелив"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:119
@@ -1688,7 +1700,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
-msgstr ""
+msgstr "Завијени прелив"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
@@ -1702,64 +1714,69 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
+msgstr "Нема датотеке коју бих учитао"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
-msgstr ""
+msgstr "Не могу да отворим "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
-msgstr ""
+msgstr "Не могу да узмем кадар из "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
-msgstr ""
+msgstr "Не могу да отворим цев за ИмиџМеџик"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
 #: src/modules/mod_imagemagick/trgt_imagemagick.cpp:157
 msgid "Unable to open pipe to imagemagick's convert utility"
-msgstr ""
+msgstr "Не могу да отворим цев за ИмиџМеџиков „convert“ програмчић"
 
 #: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
-msgstr ""
+msgstr "Изобличење мрљама"
 
 #: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
@@ -1782,10 +1799,10 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Уметање"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
@@ -1798,23 +1815,23 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
-msgstr ""
+msgstr "СП-крива"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
-msgstr ""
+msgstr "Кубно"
 
 #: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
-msgstr ""
+msgstr "Детаљи"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
@@ -1822,11 +1839,11 @@ msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
-msgstr ""
+msgstr "Брзина анимације"
 
 #: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
-msgstr ""
+msgstr "У кругова по секунди"
 
 #: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
@@ -1837,13 +1854,13 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "Случајно"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
-msgstr ""
+msgstr "Прелив шумом"
 
 #: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
@@ -1865,60 +1882,62 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Повежи"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
-msgstr ""
+msgstr "Брзина"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
-msgstr ""
+msgstr "лишће"
 
 #: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
@@ -1977,6 +1996,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1984,10 +2004,10 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
-msgstr ""
+msgstr "Корак"
 
 #: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
@@ -2024,7 +2044,7 @@ msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
-msgstr ""
+msgstr "Превуци"
 
 #: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
@@ -2038,72 +2058,179 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "логичко"
+
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "цео број"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "угао"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "реалан број"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "време"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "вектор"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "боја"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "делић"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "тачка СП-криве"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
-msgid "No images in list"
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
-msgid "in line"
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
-msgid "Units"
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "листа"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "Платно"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "ниска"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "прелив"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
-msgid "Pixels"
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
-msgid "Inches"
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
-msgid "Meters"
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
-msgid "Millimeters"
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
+msgid "No images in list"
+msgstr "Нема слика у списку"
+
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
+msgid "in line"
+msgstr "у линији"
+
+#: src/synfig/distance.cpp:258
+msgid "Units"
+msgstr "Јединице мере"
+
+#: src/synfig/distance.cpp:259
+msgid "Pixels"
+msgstr "Пиксела"
+
+#: src/synfig/distance.cpp:261
+msgid "Inches"
+msgstr "Инча"
+
+#: src/synfig/distance.cpp:262
+msgid "Meters"
+msgstr "Метара"
+
+#: src/synfig/distance.cpp:263
+msgid "Millimeters"
+msgstr "Милиметара"
+
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Центиметара"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Дубина слоја"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
 #: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
-msgstr ""
+msgstr "Горе лево"
 
 #: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
@@ -2111,32 +2238,33 @@ msgstr ""
 
 #: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
-msgstr ""
+msgstr "Доле десно"
 
 #: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
-msgstr ""
+msgstr "Провидност слоја (алфа канал)"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Начин спајања"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Удвостручи"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
-msgstr ""
+msgstr "Попис"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
@@ -2148,7 +2276,7 @@ msgstr ""
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr ""
+msgstr "Замућење покрета"
 
 #: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
@@ -2174,9 +2302,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "Константно"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2198,559 +2326,622 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "Претварање"
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
+msgstr "Положај, вртња, нагиб и димензије"
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Платно"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
+msgstr "Садржај у свежњу"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
+msgstr "Ако је означено, спречава одабир подређених објеката кликом"
 
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
-msgstr ""
+msgstr "Прираст контуре"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
-msgstr ""
+msgstr "Експоненцијална вредност прираста ширине подређеног слоја контуре"
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
-msgstr ""
+msgstr "Тренутно време"
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
-msgstr ""
+msgstr "Многоугао"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
-msgstr ""
+msgstr "Списак везица"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
-msgstr ""
+msgstr "Одређује темена многоугла"
 
 #: src/synfig/layer_shape.cpp:66
 msgid "Shape"
-msgstr ""
+msgstr "Облик"
 
 #: src/synfig/layer_shape.cpp:67
 msgid "Internal"
-msgstr ""
+msgstr "Унутрашњи"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
-msgstr ""
+msgstr "Умекшај ивице"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr ""
+msgstr "Врста изблеђивања"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
-msgstr ""
+msgstr "Употреби врсту изблеђивања"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
-msgstr ""
+msgstr "Облик завијања"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
-msgstr ""
+msgstr "Употребљавани облик завијања"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "Скелет"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Назив"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "Коске"
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
+msgstr "Једнобојно"
+
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "Заобљено"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Не могу да отворим датотеку"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Скретница"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "Назив радног слоја"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr "Видљиви су само слојеви са одређеним називом"
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
-msgstr ""
+msgstr "не могу да рекурзивно учитам „%s“"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
-msgstr ""
+msgstr "Не могу да створим <анимирано> врсте „%s“"
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
-msgstr ""
+msgstr "Недостајућа особина „врста“ у <%s>"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
-msgstr ""
+msgstr "Лоша врста у <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
-msgstr ""
+msgstr "Групна платна не могу да садрже <defs> одељак"
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
-msgstr ""
+msgstr "Платно у линији не може да садржи <bones> одељак"
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
-msgstr ""
+msgstr "Групна платна не могу да садрже кључне кадрове"
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
-msgstr ""
+msgstr "Групна платна не могу да садрже допунске податке (metadata)"
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
-msgstr ""
+msgstr "<meta> мора да има назив"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
-msgstr ""
+msgstr "<meta> мора да има садржај"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
-msgstr ""
+msgstr "Ентитет „назив“ је празан"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
-msgstr ""
+msgstr "Ентитет „опис“ је празан"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
-msgstr ""
+msgstr "Ентитет „творац“ је празан"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
-msgstr ""
+msgstr "Платно „%s“ нема одређено %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "Чвор-вредности"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
-msgstr ""
+msgstr "Чворови-вредности"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr "Не могу да пронађем повезану датотеку"
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
-msgstr ""
+msgstr "Не могу да отворим датотеку"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
-msgstr ""
+msgstr "Учитавам додатке из %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
-msgstr ""
+msgstr "Не могу да отворим датотеку са списком додатака „%s“"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
-msgstr ""
+msgstr "Готово"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
-msgstr ""
+msgstr "ГРЕШКА"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
-msgstr ""
+msgstr "Упозорење"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
-msgstr ""
+msgstr "Подаци"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
-msgstr ""
+msgstr "Не могу да учитам додатак „%s“"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
 
 #: src/synfig/palette.cpp:79
 msgid "Unnamed"
-msgstr ""
+msgstr "Неименован"
 
 #: src/synfig/palette.cpp:96
 msgid "Surface Palette"
@@ -2764,12 +2955,12 @@ msgstr ""
 #: src/synfig/palette.cpp:306
 #, c-format
 msgid "Unable to open %s for write"
-msgstr ""
+msgstr "Не могу да отворим %s за упис"
 
 #: src/synfig/palette.cpp:328
 #, c-format
 msgid "Unable to open %s for read"
-msgstr ""
+msgstr "Не могу да отворим %s за читање"
 
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
@@ -2781,81 +2972,81 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
-msgstr ""
+msgstr "Мешањем"
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "Непосредно"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "На"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "Непосредно-На"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "Заклоњено"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "Осветљено"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr ""
+msgstr "Преклопљено"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr ""
+msgstr "Тешке боје"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "РГБ-Множено"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "Дељено"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
-msgstr ""
+msgstr "РГБ-Збрајано"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
-msgstr ""
+msgstr "РГБ-Разликовано"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr ""
+msgstr "РГБ-Апс.разликовано"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr ""
+msgstr "ПоредиРГБ-Осветљено"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr ""
+msgstr "ПоредиРГБ-Затамњено"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "Нијанса"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "Засићеност"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr ""
+msgstr "ИзмениУВ-Осветљено"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
@@ -2871,23 +3062,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2905,32 +3096,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2939,8 +3126,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2948,752 +3135,1104 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "Референце"
+
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
+msgid "Segment Tangent"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
+msgid "Segment Vertex"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_stripes.cpp:171
+msgid "Stripes"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
+msgid "Two-Tone"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
+msgid "Dynamic List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_gradientrotate.cpp:146
+msgid "Gradient Rotate"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
+msgid "Sine"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
+msgid "Timed Swap"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode_repeat_gradient.cpp:185
+msgid "Repeat Gradient"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
+msgid "Exponential"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
+msgid "Spline Tangent"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
+msgid "Spline Vertex"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
+msgid "Range"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
+msgid "Cos"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
+msgid "aTan2"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
+msgid "Reverse Tangent"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
+msgid "Reciprocal"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
+msgid "Integer"
+msgstr "Цео број"
+
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
+msgid "Spline Width"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
+msgid "Vector Angle"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
+msgid "Vector Length"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
+msgid "Vector X"
+msgstr "Вектор Ш"
+
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
+msgid "Vector Y"
+msgstr "Вектор В"
+
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
+msgid "Gradient Color"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
+msgid "Dot Product"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
+msgid "Time String"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
+msgid "Real"
+msgstr "Реалан број"
+
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
+msgid "Real String"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
+msgid "Joined List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
+msgid "Angle String"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
+msgid "Int String"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
+msgid "Logarithm"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
+msgid "Greyed"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode_pow.cpp:185
+msgid "Power"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
+msgid "Compare"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Not"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "And"
+msgstr "и"
+
+#: src/synfig/valuenode.cpp:202
+msgid "Or"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:206
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
+msgid "WPList"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
+msgid "DIList"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
+#, c-format
+msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:552
+msgid "Placeholder"
+msgstr ""
+
+#: src/synfig/valuenode.h:62
+#, c-format
+msgid "%s:%d wrong type for %s: need %s but got %s"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
+#: src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
+msgid ":Bad type "
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
+msgid "One or both of my parameters aren't set!"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
+msgid "LHS"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:221
+msgid "Left Hand Side of the add"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
+msgid "RHS"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:226
+msgid "Right Hand Side of the add"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
+msgid "Scalar"
+msgstr ""
+
+#: src/synfig/valuenode_add.cpp:231
+msgid "Value that multiplies the add"
+msgstr ""
+
+#: src/synfig/valuenode_and.cpp:129
+msgid "AND"
+msgstr "И"
+
+#: src/synfig/valuenode_and.cpp:147 src/synfig/valuenode_or.cpp:147
+msgid "Link1"
+msgstr ""
+
+#: src/synfig/valuenode_and.cpp:148
+msgid "First operand of the AND operation"
+msgstr ""
+
+#: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
+msgid "Link2"
+msgstr ""
+
+#: src/synfig/valuenode_and.cpp:153
+msgid "Second operand of the AND operation"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
+msgid "A waypoint already exists at this point in time"
+msgstr "Реф.Тачка већ постоји на овој временској тачки"
+
+#: src/synfig/valuenode_animated.cpp:1170
+#, c-format
+msgid "%s: You cannot use a %s in an animated ValueNode"
+msgstr "%s: Не можете да употребљавате %s у анимираном Чвору-вредности"
+
+#: src/synfig/valuenode_animated.cpp:1203
+msgid "Animated"
+msgstr "Анимирано"
+
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
+msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/value.cpp:378
-msgid "bline_point"
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
+msgid "No entries in ret_list"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
+#, c-format
+msgid "Vertex %03d"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
+#: src/synfig/valuenode_blinecalctangent.cpp:244
+msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
+#: src/synfig/valuenode_blinecalctangent.cpp:249
+#: src/synfig/valuenode_blinecalcvertex.cpp:207
+#: src/synfig/valuenode_blinecalcwidth.cpp:212
+msgid "When checked, the amount would loop"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
+#: src/synfig/valuenode_blinecalctangent.cpp:254
+msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
+#: src/synfig/valuenode_gradientrotate.cpp:169
+#: src/synfig/valuenode_linear.cpp:221
+msgid "Offset"
+msgstr "Померај"
+
+#: src/synfig/valuenode_blinecalctangent.cpp:259
+msgid "Angle offset of the tangent"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
+#: src/synfig/valuenode_blinecalctangent.cpp:264
+msgid "Scale of the tangent"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
+#: src/synfig/valuenode_blinecalctangent.cpp:268
+msgid "Fixed Length"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
+#: src/synfig/valuenode_blinecalctangent.cpp:269
+msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
+#: src/synfig/valuenode_blinecalctangent.cpp:274
+msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
+#: src/synfig/valuenode_blinecalcvertex.cpp:202
+msgid "The spline where the vertex is linked to"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
+#: src/synfig/valuenode_blinecalcvertex.cpp:212
+msgid "The position of the linked vertex on the Spline (0,1]"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
+#: src/synfig/valuenode_blinecalcvertex.cpp:217
+msgid "When checked, the position is Spline length based"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
+#: src/synfig/valuenode_blinecalcwidth.cpp:207
+msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
-msgid "Segment Tangent"
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
-msgid "Segment Vertex"
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_stripes.cpp:171
-msgid "Stripes"
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
-msgid "Two-Tone"
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
-msgid "Dynamic List"
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_gradientrotate.cpp:146
-msgid "Gradient Rotate"
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
-msgid "Sine"
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
-msgid "Timed Swap"
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_repeat_gradient.cpp:185
-msgid "Repeat Gradient"
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
-msgid "Exponential"
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
-msgid "Spline Tangent"
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
-msgid "Spline Vertex"
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
-msgid "Range"
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
-msgid "Cos"
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
-msgid "aTan2"
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
-msgid "Reverse Tangent"
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
-msgid "Reciprocal"
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
-msgid "Integer"
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr "Дубина слоја"
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
-msgid "Spline Width"
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
-msgid "Vector Angle"
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
-msgid "Vector Length"
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
-msgid "Vector X"
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
-msgid "Vector Y"
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
-msgid "Gradient Color"
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
-msgid "Dot Product"
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
-msgid "Time String"
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
-msgid "Real"
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
-msgid "Real String"
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
-msgid "Joined List"
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
-msgid "Angle String"
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
-msgid "Int String"
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
-msgid "Logarithm"
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
-msgid "Greyed"
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
-#: src/synfig/valuenode_pow.cpp:185
-msgid "Power"
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
-msgid "Compare"
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
-msgid "Not"
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
-msgid "And"
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
-msgid "Or"
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
-msgid "Bone Influence"
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
-msgid "Bone"
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
-msgid "Root Bone"
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
-msgid "Static List"
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
-msgid "Bone Weight Pair"
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
-msgid "WPList"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
-msgid "DIList"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
-#, c-format
-msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
+#: src/synfig/valuenode_composite.cpp:296
+msgid "Bad type for composite"
+msgstr "Лоша врста за мешање"
+
+#: src/synfig/valuenode_composite.cpp:629
+msgid "Red"
+msgstr "Црвена"
+
+#: src/synfig/valuenode_composite.cpp:630
+msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
-msgid "Placeholder"
+#: src/synfig/valuenode_composite.cpp:633
+msgid "Green"
+msgstr "Зелена"
+
+#: src/synfig/valuenode_composite.cpp:634
+msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode.h:62
-#, c-format
-msgid "%s:%d wrong type for %s: need %s but got %s"
+#: src/synfig/valuenode_composite.cpp:637
+msgid "Blue"
+msgstr "Плава"
+
+#: src/synfig/valuenode_composite.cpp:638
+msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
-#: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
-msgid ":Bad type "
+#: src/synfig/valuenode_composite.cpp:641
+msgid "Alpha"
+msgstr "Провидност"
+
+#: src/synfig/valuenode_composite.cpp:642
+msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
-msgid "One or both of my parameters aren't set!"
+#: src/synfig/valuenode_composite.cpp:650
+msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
-msgid "LHS"
+#: src/synfig/valuenode_composite.cpp:651
+msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
-msgid "Left Hand Side of the add"
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
+msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
-msgid "RHS"
+#: src/synfig/valuenode_composite.cpp:655
+msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
-msgid "Right Hand Side of the add"
+#: src/synfig/valuenode_composite.cpp:658
+msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
-msgid "Scalar"
+#: src/synfig/valuenode_composite.cpp:659
+msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
-msgid "Value that multiplies the add"
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_and.cpp:129
-msgid "AND"
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_and.cpp:147 src/synfig/valuenode_or.cpp:147
-msgid "Link1"
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_and.cpp:148
-msgid "First operand of the AND operation"
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
-msgid "Link2"
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_and.cpp:153
-msgid "Second operand of the AND operation"
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
-#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
-#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
-msgid "A waypoint already exists at this point in time"
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
-#, c-format
-msgid "%s: You cannot use a %s in an animated ValueNode"
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
-msgid "Animated"
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
-msgid "No entries in list"
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
-msgid "No entries in ret_list"
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
-#, c-format
-msgid "Vertex %03d"
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
-msgid "The Spline where the tangent is linked to"
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
-#: src/synfig/valuenode_blinecalcvertex.cpp:207
-#: src/synfig/valuenode_blinecalcwidth.cpp:212
-msgid "When checked, the amount would loop"
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
-msgid "The position of the linked tangent on the Spline (0,1]"
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
-#: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
-msgid "Offset"
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
-msgid "Angle offset of the tangent"
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
-msgid "Scale of the tangent"
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
-msgid "Fixed Length"
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
-msgid "When checked, the tangent's length is fixed"
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
-msgid "When checked, the tangent is Spline length based"
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:202
-msgid "The spline where the vertex is linked to"
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:212
-msgid "The position of the linked vertex on the Spline (0,1]"
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcvertex.cpp:217
-msgid "When checked, the position is Spline length based"
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:207
-msgid "The spline where the width is linked to"
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
-msgid "Bad type for composite"
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
-msgid "Red"
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Трајање"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
-msgid "The red component of the color"
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
-msgid "Green"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
-msgid "The green component of the color"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
-msgid "Blue"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
-msgid "The blue component of the color"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-msgid "Alpha"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
-msgid "The alpha of the color"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
-msgid "Vertex 1"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Вредност"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr "Вредност"
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
-msgid "The first vertex of the segment"
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
-msgid "Tangent 1"
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
-msgid "The first tangent of the segment"
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
-msgid "Vertex 2"
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
-msgid "The second vertex of the segment"
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
-msgstr ""
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Од"
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
-msgstr ""
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "Почетна вредност пописа"
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "До"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Завршна вредност пописа"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3710,6 +4249,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3718,58 +4269,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3798,29 +4379,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "Осветљеност"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3834,58 +4403,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3917,7 +4462,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3954,23 +4499,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Делић"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3996,33 +4541,33 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
-msgstr ""
+msgstr "Почетак"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr ""
+msgstr "1. боја"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
@@ -4030,7 +4575,7 @@ msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr ""
+msgstr "2. боја"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
@@ -4048,56 +4593,56 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
 #: src/synfig/valuenode_switch.cpp:153
 msgid "Link Off"
-msgstr ""
+msgstr "У прекиду"
 
 #: src/synfig/valuenode_switch.cpp:154
 msgid "The value node returned when the switch is off"
-msgstr ""
+msgstr "Враћена вредност скретнице када не ради"
 
 #: src/synfig/valuenode_switch.cpp:158
 msgid "Link On"
-msgstr ""
+msgstr "Повезано"
 
 #: src/synfig/valuenode_switch.cpp:159
 msgid "The value node returned when the switch is on"
-msgstr ""
+msgstr "Враћена вредност скретнице када ради"
 
 #: src/synfig/valuenode_switch.cpp:164
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
-msgstr ""
+msgstr "Ако је означено, враћа „Повезано“, у супротном „У прекиду“"
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Време"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4108,10 +4653,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4123,232 +4672,244 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Вектор"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
-msgid "FATAL: Synfig Version Mismatch"
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:104
+msgid "FATAL: Synfig Version Mismatch"
+msgstr "Кобна грешка: Неподударно издање програма"
+
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Подешавања"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Гамут"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
-msgstr ""
+msgstr "Поставите назив улазне датотеке"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr ""
+msgstr "Поставите назив исходишне датотеке"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr ""
+msgstr "Поставите број КпС"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
-msgstr ""
+msgstr "Постави време почетка"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr ""
+msgstr "Постави време свршетка"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Постави стварну резолуцију (тачака по инчу)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Постави стварну ширину (тачака по инчу)"
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Постави стварну висину (тачака по инчу)"
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
-msgstr ""
+msgstr "Извези провидност"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
-msgstr ""
+msgstr "Разне поставке"
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
-msgstr ""
+msgstr "Поставке података о Синфигу"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "Немам шта да радим!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
@@ -4358,320 +4919,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
-msgstr ""
+msgstr "Неуспех при стварању."
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Стварам..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
-msgstr ""
+msgstr ": Створено за "
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
-msgstr ""
+msgstr " секунд(и/е/у)."
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Готово."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "Непозната променљива платна: "
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "Познате променљиве су: "
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
-msgstr ""
+msgstr "Назив слоја: "
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Локални назив слоја: "
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
-msgstr ""
+msgstr "Издање: "
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
-msgstr ""
+msgstr "парам - "
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
-msgstr ""
+msgstr " (није опасно)"
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
-msgstr ""
+msgstr "\tЛокални назив: "
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\tОпис: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
-msgstr ""
+msgstr "\tНапомена: "
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "Постави квалитет на "
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "Свршетак"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "Број кадрова по секунди"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "Почетни кадар"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "Завршни кадар"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Однос дим. слике"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "Ширина пиксела"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "Висина пиксела"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "Однос дим. пиксела"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "Горе лево"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "Доле десно"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "Стварна ширина"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "Стварна висина"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "Ш—резолуција"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "В—резолуција"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "Премери дијагонално слику"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "Умекшавај ивице"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "Жижа"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "Боја позадине"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "Допунски подаци"
diff --git a/po/sv_SE.gmo b/po/sv_SE.gmo
index 08e457f..e1108ac 100644
Binary files a/po/sv_SE.gmo and b/po/sv_SE.gmo differ
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 4388494..c743b19 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -1,15 +1,15 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Benjamin Larsson <mafortion.benjamin at gmail.com>, 2013
+# Benjamin Larsson <mafortion.benjamin at gmail.com>, 2013-2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/synfig/"
 "language/sv_SE/)\n"
@@ -19,166 +19,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "Fylld rektangel"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "Exempel"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "Färg"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "Fyllnadsfärg för lagret"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "Punkt 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "Första hörnet i rektangeln"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "Punkt 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "Andra hörnet i rektangeln"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "X-fjädring"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "Y-fjädring"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "Fas"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "Använd Fas i hörnen"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "Behåll Fas rund"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "När detta är på blir faskanten cirkulär"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "Metaballs"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "Gradient"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "Bollar"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "Radier"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "Tjocklekar"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "Gradient åt vänster"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "Gradient åt höger"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "Endast positiva"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "Enkel cirkel"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "Mitt"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "Cirkelns mitt"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "Radie"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "Detta är cirkelns radie"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "Övriga"
 
@@ -198,6 +49,17 @@ msgstr "tomt typsnittssats"
 msgid "Text to Render"
 msgstr "Text att Rendera"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Färg"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Textens färg"
@@ -212,6 +74,7 @@ msgstr "Stil"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "Normal"
 
@@ -224,6 +87,7 @@ msgid "Italic"
 msgstr "Kursiv"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "Tjocklek"
 
@@ -264,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "Bestämmer hur nära varandra raderna av text är lodrätt"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -285,16 +149,17 @@ msgid "Text Orientation"
 msgstr "Textens orientering"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "Utgångspunkt"
 
@@ -327,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "Slå av detta om du ska animera texten"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "Invertera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "Inget typsnitt laddades, ingen text kommer att renderas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "Texten är för liten, ingen text kommer att renderas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "Kan inte ställa in storlek på typsnitt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Invalid multibyte sequence - is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "Can't parse multibyte character.\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Fas"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilisera"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "Typ av oskärpa att använda"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "Box-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "Snabb gaussisk oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "Korsskuggnings-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "Gaussisk oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "Disk-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "Hög-färg"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "Låg-färg"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "Ljusets vinkel"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "Fasens djup"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "Mjukhet"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "Använda luma"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "Solid"
 
@@ -428,7 +298,7 @@ msgstr "Regionssats"
 msgid "Set of regions to combine"
 msgstr "Grupp av regioner att kombinera"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "Clampa"
 
@@ -467,28 +337,101 @@ msgstr "Botten"
 msgid "Lower boundary of the clamping"
 msgstr "Nedre gränsen för clampningen"
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "Kurv-förvridning"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "Förvrängning"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Bredd"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr "Hur mycket resultatet är utvidgat vinkelrätt mot källinjen"
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Startpunkt"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Första punkten på källinjen"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Slutpunkt"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr "Sista punkten på källinjen"
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "Vertices"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Snabb"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr "När detta är på, blir renderingen snabb men med fula detaljer"
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "Importera bild"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Filnamnet ser ut att redan vara inställt på \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "Filnamn"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "Fil att importera"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "Tidsförskjutning"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "Förskjutning i tid att tillämpa på den importerade filen"
 
@@ -496,17 +439,9 @@ msgstr "Förskjutning i tid att tillämpa på den importerade filen"
 msgid "Inside Out"
 msgstr "Insidan ut"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "Förvrängning"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "Bestämmer var mitten ska vara"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -659,7 +594,7 @@ msgstr "Förskjutning utsida"
 msgid "Scale Outside"
 msgstr "Storlek utsida"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "Rotera"
 
@@ -670,15 +605,14 @@ msgstr "Tranformera"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Peka där du vill att utgångspunkten ska vara"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -694,7 +628,7 @@ msgstr "Hur mycket rotation som ska tillämpas"
 msgid "Shade"
 msgstr "Skugga"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "Skuggans storlek"
 
@@ -704,7 +638,7 @@ msgid "Spherize"
 msgstr "Sfärifisera"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "Position"
 
@@ -712,6 +646,17 @@ msgstr "Position"
 msgid "Where the sphere distortion is centered"
 msgstr "Var sfär-förvrängningen ska vara centrerad"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radie"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Storleken på sfär-förvrängningen"
@@ -754,6 +699,14 @@ msgstr "Tänj"
 msgid "Size of the stretch relative to its Center"
 msgstr "Storleken på tänjningen relativt till dess mitt"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Mitt"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "Var tänjningsförvridningen ska vara centrerad"
@@ -774,50 +727,39 @@ msgstr "Strobens frekvens i antal gånger per sekund"
 msgid "Super Sample"
 msgstr "Super-sampla"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "Kan inte skapa ytmål"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "Bredd"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "Bredd på samplings-området (i pixlar)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "Höjd"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "Höjd på samplingsområdet (i pixlar)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "Använd parametrik"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "Använd den parametriska renderaren"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "Var alfa-säker"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "Alfa-artefakter undviks när detta alternativ är påslaget"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Tids-slinga"
@@ -830,40 +772,40 @@ msgstr "Länka tid"
 msgid "Start time of the loop for the cycled context"
 msgstr "Start time of the loop for the cycled context"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokal tid"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Tiden när den resulterande slingan startar"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Varaktighet"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "Slingans längd"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "Endast för positiva längder"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "När detta är på kommer endast positiva varaktighetsvärden att upprepas"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "Symmetrisk"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "När detta är på, kommer slingor speglas med mitt på lokal tid"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "Översätt"
 
@@ -871,6 +813,19 @@ msgstr "Översätt"
 msgid "Twirl"
 msgstr "Virvel"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Cirkelns mitt"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Detta är cirkelns radie"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "Rotationer"
@@ -947,58 +902,6 @@ msgstr "Horisont"
 msgid "Height that determines the horizon in perspectives"
 msgstr "Höjd som anger horisonten i perspektiv"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "Kurv-förvridning"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr "Hur mycket resultatet är utvidgat vinkelrätt mot källinjen"
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "Startpunkt"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr "Första punkten på källinjen"
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "Slutpunkt"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr "Sista punkten på källinjen"
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "Vertices"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "Snabb"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr "När detta är på, blir renderingen snabb men med fula detaljer"
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "XOR-mönster"
@@ -1011,10 +914,11 @@ msgstr "Mönstrets mitt"
 msgid "Size of the pattern"
 msgstr "Storlek på mönstret"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "Skala"
 
@@ -1026,59 +930,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "Kan inte öppna %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s är inte i BMP-format"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "Läsning av komprimerade bitmap-filer stöds ej"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "Bit-djupet stöds ej (bit_count=%d, bör vara 24 eller 32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(animerad)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "Kan inte öppna fil"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "Kan inte skriva fil-sidhuvud till fil"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "Kan inte skriva info-sidhuvud"
 
@@ -1090,37 +994,137 @@ msgstr "Kan inte skriva info-sidhuvud"
 msgid "Unable to open pipe to encodedv"
 msgstr "Kan inte öppna pipe till encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Fylld rektangel"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Exempel"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Fyllnadsfärg för lagret"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Punkt 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "Första hörnet i rektangeln"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Punkt 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "Andra hörnet i rektangeln"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "X-fjädring"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "Y-fjädring"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Använd Fas i hörnen"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Behåll Fas rund"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "När detta är på blir faskanten cirkulär"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "Metaballs"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradient"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "Bollar"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "Radier"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "Tjocklekar"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "Gradient åt vänster"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "Gradient åt höger"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "Endast positiva"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Enkel cirkel"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "Kan inte öppna pipe till ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "Kan inte öppna pipe till ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "Kan inte öppna pipe till ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "Kan inte öppna pipe till ffmpeg"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "Kan inte öppna pipe till ffmpeg"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1131,7 +1135,7 @@ msgstr "Oskärpa"
 msgid "Blurs"
 msgstr "Oskärpor"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "Storlek på oskärpa"
 
@@ -1245,13 +1249,13 @@ msgstr "Storlek på oskärpa"
 msgid "Fade Out"
 msgstr "Tona bort"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "Schackbräde"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "Avancerad kontur"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1259,77 +1263,6 @@ msgstr "Schackbräde"
 msgid "Geometry"
 msgstr "Geometri"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "Färg på rutor"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "Mitten på rutorna"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "Storlek på rutorna"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "Cirkel"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "Cirkelns radie"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "Fjädring"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "Mängd fjädring runt cirkeln"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "Invertera cirkeln"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "Matta"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "Bestämmer mattnings-funktionen för fjädringen"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "Linjär"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "Kvadratisk"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "Kvadratrot"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "Sigmond"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "Kosinus"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "Inga vertices i splinen"
@@ -1372,37 +1305,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1441,7 +1374,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1487,7 +1420,78 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:72
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "Schackbräde"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "Färg på rutor"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "Mitten på rutorna"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "Storlek på rutorna"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "Cirkel"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "Cirkelns radie"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "Fjädring"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "Mängd fjädring runt cirkeln"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "Invertera cirkeln"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "Matta"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "Bestämmer mattnings-funktionen för fjädringen"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Linjär"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "Kvadratisk"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "Kvadratrot"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "Sigmond"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "Kosinus"
+
+#: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "Kontur"
 
@@ -1563,7 +1567,9 @@ msgstr "Radien på de inre punkterna i stjärnan"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Vinkel"
 
@@ -1571,7 +1577,7 @@ msgstr "Vinkel"
 msgid "The orientation of the star"
 msgstr "Stjärnans orientering"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "Punkter"
 
@@ -1587,12 +1593,12 @@ msgstr "Vanlig Polygon"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Anger vad som ska ritas - en stjärna eller en vanlig polygon"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "Kan inte öppna \"%s\" för skrivåtkomst!"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "Beskrivning ej angiven!"
 
@@ -1611,7 +1617,7 @@ msgstr "Gradienter"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1628,7 +1634,7 @@ msgstr "Rotation på gradienten runt mitten"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "När detta alternativ är ikryssat repeteras gradienten"
@@ -1647,25 +1653,26 @@ msgid "Global width of the gradient"
 msgstr "Global bredd på gradienten"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "Repetera"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Sick-sack"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
-msgstr "När detta alternativ är ikryssat, är gradienten symmetrisk vid mitten"
+msgid "When checked the gradient is symmetrical at the center"
+msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
@@ -1675,11 +1682,11 @@ msgstr "Vinkelrät"
 msgid "Linear Gradient"
 msgstr "Linjär gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "Startpunkt för gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "Slutpunkt för gradient"
 
@@ -1708,54 +1715,59 @@ msgstr "Medurs"
 msgid "When checked the spiral turns clockwise"
 msgstr "När detta alternativ är ikryssat snurrar spiralen medurs"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "Ingen fil att ladda"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "Kan inte öppna"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "Unable to get frame from "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "Ogiltig yta från"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "Kan inte öppna pipe till imagemagick"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "Nådde slutet på strömmen utan att hitta PPM header"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "strömmen är inte i PPM-format"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "För tidigt slut på fil (efter sidhuvud)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "För tidig slut på fil"
 
@@ -1788,7 +1800,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr "Ändra för att modifiera slump-seed för bruset"
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
@@ -1804,16 +1816,16 @@ msgid "Nearest Neighbor"
 msgstr "Närmaste granne"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubisk"
@@ -1843,7 +1855,7 @@ msgid "When checked produces turbulent noise"
 msgstr "När detta alternativ är ikryssat skapas häftigt, turbulent brus"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "Slumpmässig"
 
@@ -1872,54 +1884,56 @@ msgid "When checked the gradient is supersampled"
 msgstr ""
 "När detta alternativ är ikryssat används \"supersampling\" på gradienten"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "Länk"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr "Den värdenodkällan som innehar det centrala värdet "
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr "Värdet på den högsta tillåtna slumpskillnanden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr "Seed för slumpgeneratorn"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr "Hastighet"
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr "Anger hur ofta ett nytt slumpat värde väljs (i val per sekund)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr "Bestämmer hur värdet interpoleras från ett slumpval till nästa"
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr "Ingen interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "Upprepningstid"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr "Gör att slumpvärdet repeteras efter den angivna tiden"
 
@@ -1986,6 +2000,7 @@ msgstr ""
 "med stjäökstorleken, och ett alfavärde på 1,0 används vid rendering"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "Vänd"
 
@@ -1993,8 +2008,8 @@ msgstr "Vänd"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "När detta alternativ är ikryssat renderas växten i motsatt riktning"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "Steg"
 
@@ -2049,66 +2064,173 @@ msgstr "Använd bredd"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s var inte i PPM-format"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open():Kan inte öppna tomt filnamn"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open():Kunde inte hitta filnamnstillägg"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "boolesk"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open():Okänt filformat --"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "heltal"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "vinkel"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "reell"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "tid"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "vektor"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "färg"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "lista"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "rityta"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "sträng"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "gradient"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "Inga bilder i listan"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "i linje"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "Enhet"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "Pixlar"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "Inch"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "Meter"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "Millimeter"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "Centimeter"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open():Kan inte öppna tomt filnamn"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "Importer::open():Kunde inte hitta filnamnstillägg"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "Importer::open():Okänt filformat --"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "Kan inte skapa ytmål"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z-djup"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Anger lagrets postion i lagerhögen"
 
@@ -2128,25 +2250,26 @@ msgstr "Nedre högra hörnet"
 msgid "Lower right-hand Corner of image"
 msgstr "Positionen för bildens nedre högra hörn"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr "Lagrets alfa-kanal"
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Blandningsmetod"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 "Blandningsmetoden att använda för att kombinera bilden med lagren under"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "Duplicera"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "Index"
 
@@ -2186,7 +2309,7 @@ msgstr "Typ av subsampling"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Kurvtyp för att påverka subsamplingar"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "Konstant"
 
@@ -2210,57 +2333,48 @@ msgstr "Slutmängd på subsampling"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relativ mängd på sista subsamplingen, för linjär kurvtyp"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "Rityta"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "Zoom"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "Storleken på ritytan"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr "Tidsförskjutning att tillämpa på området"
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "Lås ättlingar"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 "När detta alternativ är ikryssat kan inte ättlingar markeras med musklick"
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "Fokuspunkt"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "Den punkt som ska förbli stilla när man zoomar"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "Nuvarande tid"
 
@@ -2268,11 +2382,11 @@ msgstr "Nuvarande tid"
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr "Vertexlista"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr "Anger hörnen på polygonen"
 
@@ -2284,250 +2398,301 @@ msgstr "Form"
 msgid "Internal"
 msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "Layer_Shape Color"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "Kantutjämning"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "Fjädringstyp"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "Typ av fjädring att använda"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "Slingringstyp"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "Vilken stil på slingring som ska användas"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "Inte noll"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "Jämn/udda"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "Namn"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "Solid färg"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Kan inte öppna fil"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "Växla"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "kan inte ladda \"%s\" rekursivt"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unexpected element <%s>, Expected <%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "För många varningar"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> saknar attributet \"%s\""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> borde inte innehålla någonting"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> saknar attributet \"value\""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Ogiltigt värde \"%s\" i <%s>"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> saknar attributet \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Kan inte skapa <animated> med typ \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<vägpunkt> saknar attributet \"time\""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
-"Fann attributet \"use\" för <wägpunkt>, men den var inte tom. Ignorerar "
+"Fann attributet \"use\" för <vägpunkt>, men den var inte tom. Ignorerar "
 "innehåll..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "\"%s\" saknar sin data"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "Ogiltig data för <wägpunkt>"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Oväntad beståndsdel <%s> efter <vägpunkt>-data, ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "<%s> saknar attributet \"type\""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Ogiltig typ i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Fel vid skapande av värdenod <%s> med typ '%s'. Refererar till '%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> accepterade inte typen '%s'"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' är redan definierad i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribute in <%s> references unknown ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr "Kan inte skapa länk '\"%s\" till värdenod \"%s\" (länk #%d i \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Okänt undantag uppkom vid referens till värdenod \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "<%s> saknar sitt innehåll"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Analysering av '%s' misslyckades"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Okänt undantag uppkom vid arbetet med '%s'"
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> is missing link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> saknar sitt innehåll, eller saknar \"use\"-element"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "Unable to create <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Ogiltig data i <%s>"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Värdenod förväntad. Refererar till '%s'"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Ogiltig ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Dubbelt ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Okänt undantag uppkom när värdenod \"%s\" lades till"
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Saknar attribut \"type\" för elementet \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr "Installerad lagerversion är mindre än filens lagerversion"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name>-värde för <layer> stöds ännu inte. Ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc>-värde för <layer> stöds ännu inte. Ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Saknar \"name\"-attribut för <param>"
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2535,234 +2700,254 @@ msgstr ""
 "Hittade \"use\"-attribut för <param>, men den var inte tom. Ignorerar "
 "innehåll..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "Tomt use=\"\"-värde i <param>"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Laddning av del-ritytan '%s' misslyckades"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "Lager förkastade ritytans länk"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 "<param> saknar antingen sitt innehåll, eller saknar ett \"use\"-attribut"
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "Ogiltig data för <param>"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Layer '%s' rejected value for parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Oväntat element <%s> efter <param>-data, ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Rityta med bredd eller höjd under ett är inte tillåtet"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta> måste ha ett namn"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta> måste ha ett innehåll"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "tom \"namn\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "tom \"desc\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "tom \"author\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
-msgstr "Ritytan '%s\" har odefinierad %s: %s"
+msgstr "Ritytan \"%s\" har odefinierad %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "Värdenod"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "Värdenoder"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "Kan ej öppna fil"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version mismatch (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Size of Vector mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Size of Color mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Size of Canvas mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Size of Layer mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "Startar delsystem \"Modules\" (moduler)"
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "Misslyckades med att initialisera delsystem \"Modules\" (moduler)"
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "Startar delsystem \"Layers\" (lager)"
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Misslyckades med att initialisera delsystem \"Layers\" (lager)"
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "Startar delsystem \"Targets\" (mål)"
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Misslyckades med att initialisera delsystem \"Targets\" (mål) "
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "Startar delsystem \"Importers\" (importörer)"
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Misslyckades med att initialisera delsystem \"Importers\" (importörer)"
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Startar delsystem \"ValueNodes\" (värdenoder)"
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 "Misslyckades med att initialisera delsystem \"ValueNodes\" (värdenoder)"
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Laddar moduler från %s"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Kan inte öppna modullist-fil '%s'"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "KLAR"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "fel"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "varning"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "info"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "Fel i lt_dlinit()"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "Kan inte ladda modul '%s'"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "Försöker registrera \"%s\""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "Kan inte hitta modulen \"%s\" (%s)"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "Hittade modulen \"%s\""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "Kan inte hitta entrypoint i modul \"%s\" (%s)"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "Entrypoint gav inte en modul"
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "\"%s\" lyckades"
@@ -2800,8 +2985,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "Sammansättning"
 
@@ -2841,13 +3026,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "Addera"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "Subtrahera"
 
@@ -2863,12 +3048,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "Färg"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "Mättnad"
 
@@ -2890,23 +3075,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "Target panic"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Okänt värde(%s), kan inte skapa XML!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "Okänd typ av värdenod (%s), kan inte skapa XML"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "Initialisering av mål misslyckades"
 
@@ -2924,32 +3109,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "Fångade sträng:"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Slut på minne (förmodligen en bugg)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "Fångade upp okänt fel, kastar igen"
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "Ogiltig kakelstorlek"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "Accelererad rendering misslyckades"
 
@@ -2958,8 +3139,8 @@ msgstr "Accelererad rendering misslyckades"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Kan inte sätta yta på mål"
 
@@ -2967,334 +3148,250 @@ msgstr "add_tile():Kan inte sätta yta på mål"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "Parametrisk rendering misslyckades"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "Ogiltig yta"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr "Time():Ingen enhet given i tidskod, använder BILDRUTOR (\"%s\")"
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 "Time():Ingen enhet angiven i tidskod och FPS är okänt! Använder SEKUNDER"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "boolesk"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
+msgstr "Radiell sammansättning"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "heltal"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "Referens"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "vinkel"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "tid"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "reell"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "vektor"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "färg"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "segment"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "bline_punkt"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "lista"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "rityta"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "sträng"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "gradient"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "inget"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr "Radiell sammansättning"
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr "Referens"
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segmenttangent"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segmenthörn"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Ränder"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Två-tonig"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "Dynamisk lista"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Gradient-rotation"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "Tajmat byte"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Repetera gradient"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponential"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "Rad"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "Växla"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Kosinus"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "Invertera tangenter"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciprokal"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "Heltal"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "Vektorns vinkel"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "Vektorns längd"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "Gradientens färg"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr "Skalärprodukt"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "Tidssträng"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "Tal"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "Reell sträng"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "Sammanslagen lista"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "Vinkelsträng"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "Heltalssträng"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "Logaritm"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "Grånad"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Styrks"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Jämför"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "Inte"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "Och"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "Eller"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Ogiltig typ: värdenod '%s' accepterar inte typ '%s'"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "Platshållare"
 
@@ -3303,45 +3400,51 @@ msgstr "Platshållare"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d fel typ för %s: behöver %s men fick %s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":Ogiltig typ"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "En eller båda av mina parametrar är inte inställda!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "VS"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr "Vänstra sidan av adderingen"
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "HS"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr "Höger sida av adderingen"
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "Skalär"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr "Värde som multiplicerar adderingen"
 
@@ -3365,74 +3468,128 @@ msgstr "Länk2"
 msgid "Second operand of the AND operation"
 msgstr "Andra operanden i OCH-operationen"
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr "Reelt värde att konvertera till sträng"
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr "Strängens längd"
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "Precision"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr "Antal decimalplatser"
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "Fyll ut med nollor"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"När detta är på, fylls strängen med nollor från vänster för att få rätt längd"
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Det finns redan en vägpunkt på den här tidpunkten"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: Du kan inte använda %s i en animerad värdenod"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "Animerad"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "Inget innehåll i listam"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "Inget innehåll i ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr "När detta alternativ är ikryssat, repeteras värdet"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "Förskjutning"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr "Vinkel-förskjutning av tangenten"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr "Storlek på tangenten"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "Fast längd"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr "När detta alternativ är ikryssat, kan inte tangentens längd ändras"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3464,256 +3621,633 @@ msgstr "Bredd"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr "Vänstra sidan av jämförelsen"
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr "Högra sidan av jämförelsen"
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr "Större än"
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER > HÖGER"
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr "Lika med"
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER = HÖGER"
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr "Mindre än"
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER < HÖGER"
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "Ogiltig typ för sammansättning"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "Röf"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr "Färgens röda komponent"
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "Grön"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr "Färgens gröna komponent"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "Blå"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr "Färgens blåa komponent"
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr "Färgens alfa (genomskinlighet)"
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr "Den första vertexen i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "Tangent 1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr "Den första tangenten i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr "Den andra vertexen i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr "Tangent 2"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr "Den andra tangenten i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr "X-axeln"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr "Vektorns X-komponent"
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr "Y-axeln"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr "Vektorns Y-komponent"
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
-msgstr "Bestämmer på/av-värde relativt till grannar"
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr "Bestämmer på/av-värde relativt till grannar"
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr "Dela"
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr "När detta är på, blir tangenterna oberoende"
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "Längd"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Värde"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "Värde att räkna ut kosinus för"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "Amplitud"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr "Multiplikator för resultatet av kosinus"
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
-msgstr "Dela"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
-msgstr "När detta är på, blir tangenterna oberoende"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "Från"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
+msgstr "Ursprungsvärde för indexet"
+
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "Till"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
+msgstr "Slutvärde för indexet"
+
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
+msgstr "Indexets ökning"
+
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
-msgstr "Längd"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
-msgstr "Vänstra sidan av jämförelsen"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
-msgstr "Högra sidan av jämförelsen"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
-msgstr "Större än"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
-msgstr "När detta är valt, får du ett sant om VÄNSTER > HÖGER"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
-msgstr "Lika med"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
-msgstr "När detta är valt, får du ett sant om VÄNSTER = HÖGER"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
-msgstr "Mindre än"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
-msgstr "När detta är valt, får du ett sant om VÄNSTER < HÖGER"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
-msgstr "Värde att räkna ut kosinus för"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "Amplitud"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
-msgstr "Multiplikator för resultatet av kosinus"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "Från"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
-msgstr "Ursprungsvärde för indexet"
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "Till"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
-msgstr "Slutvärde för indexet"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
-msgstr "Indexets ökning"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "List type/item type mismatch, throwing away mismatch"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "Objekt %03d"
@@ -3730,6 +4264,18 @@ msgstr "Värdet att upphöja konstanten 'e' med"
 msgid "Multiplier of the resulting exponent"
 msgstr "Multiplikator för resultatet av exponenten"
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr "Källgradienten att rotera"
@@ -3738,58 +4284,88 @@ msgstr "Källgradienten att rotera"
 msgid "The amount to offset the gradient"
 msgstr "Mängden förskjutning att tillämpa på gradienten"
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr "Heltalsvärdet att konvertera"
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "Strängar"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr "Listan på strängar att slå ihop"
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "Före"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr "En sträng som placeras före de sammanslagna strängarna"
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "Separator"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr "En sträng som placeras emellan varje sammanslagen sträng"
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "Efter"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr "En sträng som placeras efter de sammanslagna strängarna"
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr "Epsilon"
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "Oändligt"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr "Det värde du får när resultatet verkar bli ett oändligt tal"
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "INTE"
@@ -3818,27 +4394,15 @@ msgstr "Basen som ska upphöjas"
 msgid "The power used to raise the base"
 msgstr "Exponenten för att upphöja basen"
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr "Epsilon"
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr "Värde som används för att jämföra basen eller exponenten med noll"
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "Oändligt"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr "Det värde du får när resultatet verkar bli ett oändligt tal"
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr " "
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "Luma"
 
@@ -3854,59 +4418,34 @@ msgstr "Theta"
 msgid "The angle of the vector with the X axis"
 msgstr "Vinkeln på vektorn med X-axeln"
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "Några av parametrarna är inte inställda!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "Min"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr "Det värde du får när 'Länk' är mindre"
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "Max"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr "Det värde du får när 'Länk' är större"
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr "Värdenoden för att begränsa den"
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr "Reelt värde att konvertera till sträng"
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr "Strängens längd"
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "Precision"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr "Antal decimalplatser"
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "Fyll ut med nollor"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-"När detta är på, fylls strängen med nollor från vänster för att få rätt längd"
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr "Värdenoded för att räkna ut dess reciproka värde"
@@ -3940,8 +4479,8 @@ msgstr "Antalet upprepningar på gradienten"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr "Anger hur mycket källgradienten avviker i upprepningen [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
@@ -3979,16 +4518,16 @@ msgstr "Slutfärg"
 msgid "Used as the end of the resulting gradient"
 msgstr "Används som slut på den färdiga gradienten"
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "Försöker invertera en Värdenod som inte kan inverteras"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr "Värdenoden för att skala (ändra storlek)"
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr "Värde som multiplicerar Värdenoden"
 
@@ -4021,27 +4560,27 @@ msgstr "Vinkeln att räkna ut sinus för"
 msgid "The value that multiplies the resulting sine"
 msgstr "Värde som multiplicerar det uträknade sinus-värdet"
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr "Värdenod för att göra ett steg"
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr "Längd på steget"
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "Starttid"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr "Tiden då steg-övergången startar"
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "Skärningspunkt"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4073,15 +4612,15 @@ msgstr "Antal ränder i gradienten"
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr "Bredd på ränderna i gradienten, mellan [0,1]"
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr "Vänstra sidan av subtraktionen"
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr "Högra sidan av subtraktionen"
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr "Värde som multiplicerar subtraktionen"
 
@@ -4105,24 +4644,24 @@ msgstr "Värdenod som fås när växeln är på"
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr "När detta är på ges \"Länk på\", annars \"Länk av\""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr "Värdenoden som fås när den nuvarande tiden är före 'tid' - 'längd'"
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr "Värdenoden som fås när den nuvarande tiden är efter 'tid'"
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "Tid"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr "Tiden då den linjära interpolationen slutar"
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4135,10 +4674,14 @@ msgid "The value node to time loop"
 msgstr "Värdenoden för tidsslingor"
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
-msgstr "Starttid för slingan för värdenodens tidslinje"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr "Tiden att konvertera till en sträng"
 
@@ -4150,227 +4693,239 @@ msgstr "Startfärg på gradienten"
 msgid "The end color of the gradient"
 msgstr "Slutfärg på gradienten"
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Vektor"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
-msgid "FATAL: Synfig Version Mismatch"
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:104
+msgid "FATAL: Synfig Version Mismatch"
+msgstr "FATALT: Synfig-version matchar ej"
+
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Inställningar"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Ange den diagonala storleken på bildfönstret (spann)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "Ange mängden kantutjämning för parametrisk rendering"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
-msgstr "Ange utdata-filnamn"
+msgstr "Ange filnamn för utdata"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Rendera ritytan med det angivna id:t istället för roten."
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
-msgstr ""
+msgstr "Ange FPS"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
-msgstr ""
+msgstr "Rendera en enskild bildruta i <sekunder>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
-msgstr ""
+msgstr "Ange starttid"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
-msgstr ""
+msgstr "Ange sluttid"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Tyst läge (visar inte framsteg och kvarvarabde tid)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
-msgstr ""
+msgstr "Lägg till lager i <filnamn> till komposition"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
-msgstr ""
+msgstr "Visa angivna detaljer om käll-ritytan"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
-msgstr ""
+msgstr "Visa en lista över tillgängliga importerare"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
-msgstr ""
+msgstr "Visa diverse build-information"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
-msgstr ""
+msgstr "Visa en lista över tillgängliga lager"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
-msgstr ""
+msgstr "Visa lagrets beskrivning, parameterinfo, etc."
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
-msgstr ""
+msgstr "Visa licensinformation"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
-msgstr ""
+msgstr "Visa en lista över installerade moduler"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
-msgstr ""
+msgstr "Visa en lista över tillgängliga mål"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
-msgstr ""
+msgstr "Visa en lista över tillgängliga värdenoder"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
-msgstr ""
+msgstr "Visa versionsinformation"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
-msgstr ""
+msgstr "Testa generering av GUID"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
+msgstr "Testa signaler"
+
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:73
@@ -4385,320 +4940,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "Renderar..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Klar."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/synfig.pot b/po/synfig.pot
index b2f030c..f1080e3 100644
--- a/po/synfig.pot
+++ b/po/synfig.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,166 +17,17 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -196,6 +47,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr ""
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -210,6 +72,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -222,6 +85,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -262,8 +126,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -283,16 +147,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -325,96 +190,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -426,7 +296,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -465,28 +335,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -494,16 +437,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -657,7 +592,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -668,15 +603,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -692,7 +626,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -702,7 +636,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -710,6 +644,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -750,6 +695,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -770,50 +723,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -826,40 +768,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -867,6 +809,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -943,58 +898,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1007,10 +910,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1022,59 +926,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1086,30 +990,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1122,7 +1131,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,126 +1210,55 @@ msgid "Halftone 3"
 msgstr ""
 
 #: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1363,37 +1301,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1432,7 +1370,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1478,6 +1416,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1554,7 +1563,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1562,7 +1573,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1578,12 +1589,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1602,7 +1613,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1619,7 +1630,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1638,24 +1649,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1666,11 +1678,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1699,54 +1711,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1779,7 +1796,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1795,16 +1812,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1834,7 +1851,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1862,54 +1879,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1974,6 +1993,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1981,8 +2001,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2035,66 +2055,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2114,24 +2241,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2171,7 +2299,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2195,56 +2323,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2252,11 +2371,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2268,479 +2387,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2778,8 +2967,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2819,13 +3008,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2841,12 +3030,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2868,23 +3057,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2902,32 +3091,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2936,8 +3121,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2945,333 +3130,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3280,45 +3381,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3342,74 +3449,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3429,228 +3589,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3665,32 +4038,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3707,6 +4244,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3715,58 +4264,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3795,27 +4374,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3831,58 +4398,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3914,7 +4457,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3951,16 +4494,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3993,27 +4536,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4045,15 +4588,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4077,24 +4620,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4105,10 +4648,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
+msgstr ""
+
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4120,229 +4667,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4355,320 +4914,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
diff --git a/po/tr.gmo b/po/tr.gmo
index 92e1159..6de0f56 100644
Binary files a/po/tr.gmo and b/po/tr.gmo differ
diff --git a/po/tr.po b/po/tr.po
index b2d9db0..d6c35e3 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,14 +1,15 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Erkan Kocaman <erkank_83 at hotmail.com>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Turkish (http://www.transifex.com/projects/p/synfig/language/"
 "tr/)\n"
@@ -18,201 +19,64 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr ""
+msgstr "Metin"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "Diğer"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr ""
+msgstr "Metin Katmanı"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr ""
+msgstr "Başlatılamıyor"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
-msgstr ""
+msgstr "Karakter setini temizle"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Renk"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "Metnin rengi"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "Yazı Tipi"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr ""
+msgstr "Biçem"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "Normal"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
@@ -220,27 +84,28 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "İtalik"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
-msgstr ""
+msgstr "Genişlik"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
-msgstr ""
+msgstr "Çok parlak"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
-msgstr ""
+msgstr "Parlak"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr ""
+msgstr "Kalın"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr ""
+msgstr "Çok kalın"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
@@ -248,7 +113,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr ""
+msgstr "Yatay boşluk"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
@@ -256,58 +121,59 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr ""
+msgstr "Dikey boşluk"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr ""
+msgstr "Boyut"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr ""
+msgstr "Metin boyutu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr ""
+msgstr "Yönlendirme"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr ""
+msgstr "Metin Yönü"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr ""
+msgstr "Metin Posizyonu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "Yazı"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr ""
+msgstr "Kullanılacak Yazı adı"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "Tersine Çevir"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Tip"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "Genişlik"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "Başlangıç noktası"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr "Kaynak çizginin ilk noktası"
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "Sonuç noktası"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "Hızlı"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "Resmi İçe Aktar"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
-msgstr ""
+msgstr "Dosya adı"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
-msgstr ""
+msgstr "İçe aktarılacak dosya"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,21 +605,20 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Katman görünürlüğü ayarlar"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr ""
+msgstr "Dosya açılamıyor"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Renk Geçişi"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1212,116 +1222,45 @@ msgstr ""
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "Doğrusal"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,17 +1565,19 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Açı"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "Nokta"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1573,18 +1585,18 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Düzgün Çokgen"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "Döngü"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,9 +1853,9 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "Rastgele"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "Segment"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr ""
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "Üniteler/birimler"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "Piksel"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "İnç"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "Metre"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetre"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "Santimetre"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Z Derinlik"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "Çoğalt"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,9 +2301,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "Sabit"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2196,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "Tuval"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2389,550 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "İsim"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "Dosya açılamıyor"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
-msgstr ""
+msgstr "DeğerKökü"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2970,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2802,7 +2993,7 @@ msgstr ""
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "Ekran"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
@@ -2820,13 +3011,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3033,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3060,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3094,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3124,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3133,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Referans"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "Tamsayı"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "Gerçel"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3384,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3452,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3438,220 +3600,433 @@ msgstr ""
 msgid "Scale of the width"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
-msgstr ""
+msgstr "Kırmızı"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
-msgstr ""
+msgstr "Yeşil"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
-msgstr ""
+msgstr "Mavi"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
-msgstr ""
+msgstr "Genişlik"
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "Değer"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4041,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4247,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4267,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4377,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4401,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4460,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,23 +4497,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3994,27 +4539,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4591,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4623,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "Zaman"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4651,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4670,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "Vektör"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "Ayarlar"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "Gama kontrast derecesi"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4917,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "Bitti..."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/uz at Latn.gmo b/po/uz at Latn.gmo
new file mode 100644
index 0000000..516ac88
Binary files /dev/null and b/po/uz at Latn.gmo differ
diff --git a/po/ca.po b/po/uz at Latn.po
similarity index 65%
copy from po/ca.po
copy to po/uz at Latn.po
index 91ae837..82f88d2 100644
--- a/po/ca.po
+++ b/po/uz at Latn.po
@@ -1,193 +1,45 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# Umid Almasov <u.almasov at gmail.com>, 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
-"ca/)\n"
-"Language: ca\n"
+"Language-Team: Uzbek (Latin) (http://www.transifex.com/projects/p/synfig/"
+"language/uz at Latn/)\n"
+"Language: uz at Latn\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"
-
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr ""
+msgstr "Matn"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "Boshqa"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr ""
+msgstr "Matn qatlami"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr ""
+msgstr "initsializatsiya qilib bo'lmadi"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
@@ -197,32 +49,45 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "Rang"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "Matnning rangi"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "Shriftlar oilasi"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr ""
+msgstr "Uslub"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "Normal"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
-msgstr ""
+msgstr "Qiyalik"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "Kursiv"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +128,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +149,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -326,96 +192,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "Relyef"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +298,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +337,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +439,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +594,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,15 +605,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -693,7 +628,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +638,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +646,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "Radius"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +697,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "Markaz"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +725,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +770,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +811,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "Aylana markazi"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "Bu aylananing radiusi"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +900,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +912,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +928,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +992,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "Bo'yalgan to'g'riburchak"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "Misol"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "Qatlamning bo'yash rangi"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "Nuqta 1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "To'g'riburchakning birinchi burchagi"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "Nuqta 2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "To'g'riburchakning ikkinchi burchagi"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "Burchaklar uchun relyefdan foydalanish"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "Relyefni aylanma saqlash"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "Belgilanganda relyef aylanma"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "Gradiyent"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "Oddiy aylana"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1133,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,127 +1211,56 @@ msgstr ""
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
+msgstr "Rang"
+
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1303,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1372,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1418,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1565,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,7 +1575,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1591,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1615,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1632,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1651,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1680,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1713,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1798,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1814,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1853,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1881,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1995,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2003,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2057,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "Rang"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2243,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2301,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2325,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2373,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2389,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2969,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3010,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3032,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3059,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3093,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3123,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3132,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3383,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3451,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3430,228 +3591,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4040,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4246,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4266,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4376,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4400,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4459,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,16 +4496,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,27 +4538,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4590,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4622,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4650,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4669,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4916,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/zh-Hant.gmo b/po/zh-Hant.gmo
new file mode 100644
index 0000000..7ccbc71
Binary files /dev/null and b/po/zh-Hant.gmo differ
diff --git a/po/ca.po b/po/zh-Hant.po
similarity index 65%
copy from po/ca.po
copy to po/zh-Hant.po
index 91ae837..c1cd80a 100644
--- a/po/ca.po
+++ b/po/zh-Hant.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -7,166 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
-"ca/)\n"
-"Language: ca\n"
+"Language-Team: Chinese Traditional (http://www.transifex.com/projects/p/"
+"synfig/language/zh-Hant/)\n"
+"Language: zh-Hant\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"
-
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr ""
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
@@ -174,10 +24,11 @@ msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr ""
 
@@ -197,6 +48,17 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr ""
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
@@ -211,6 +73,7 @@ msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr ""
 
@@ -223,6 +86,7 @@ msgid "Italic"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr ""
 
@@ -263,8 +127,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -284,16 +148,17 @@ msgid "Text Orientation"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr ""
 
@@ -326,96 +191,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr ""
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr ""
 
@@ -427,7 +297,7 @@ msgstr ""
 msgid "Set of regions to combine"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr ""
 
@@ -466,28 +336,101 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,16 +438,8 @@ msgstr ""
 msgid "Inside Out"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+msgid "Defines where the center will be"
 msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
@@ -658,7 +593,7 @@ msgstr ""
 msgid "Scale Outside"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr ""
 
@@ -669,15 +604,14 @@ msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -693,7 +627,7 @@ msgstr ""
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr ""
 
@@ -703,7 +637,7 @@ msgid "Spherize"
 msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr ""
 
@@ -711,6 +645,17 @@ msgstr ""
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr ""
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -751,6 +696,14 @@ msgstr ""
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr ""
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -771,50 +724,39 @@ msgstr ""
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
@@ -827,40 +769,40 @@ msgstr ""
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr ""
 
@@ -868,6 +810,19 @@ msgstr ""
 msgid "Twirl"
 msgstr ""
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr ""
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr ""
@@ -944,58 +899,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1008,10 +911,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr ""
 
@@ -1023,59 +927,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1087,30 +991,135 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr ""
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
@@ -1123,7 +1132,7 @@ msgstr ""
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr ""
 
@@ -1201,127 +1210,56 @@ msgstr ""
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:331
-msgid " Type"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:340
-msgid "Subtractive Flag"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:348
-msgid " Color"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:352
-msgid " Mask Origin"
-msgstr ""
-
-#: src/modules/mod_filter/halftone3.cpp:356
-msgid " Mask Angle"
-msgstr ""
-
-#: src/modules/mod_filter/lumakey.cpp:59
-msgid "Luma Key"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:56
-msgid "Radial Blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:116
-msgid "Size of blur"
-msgstr ""
-
-#: src/modules/mod_filter/radialblur.cpp:121
-msgid "Fade Out"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:59
-#: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
-#: src/modules/mod_geometry/outline.cpp:73
-#: src/modules/mod_geometry/rectangle.cpp:60
-#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
-msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
+#: src/modules/mod_filter/halftone3.cpp:331
+msgid " Type"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
+#: src/modules/mod_filter/halftone3.cpp:340
+msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
+#: src/modules/mod_filter/halftone3.cpp:348
+msgid " Color"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
+#: src/modules/mod_filter/halftone3.cpp:352
+msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
+#: src/modules/mod_filter/halftone3.cpp:356
+msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
+#: src/modules/mod_filter/lumakey.cpp:59
+msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
+#: src/modules/mod_filter/radialblur.cpp:56
+msgid "Radial Blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
+#: src/modules/mod_filter/radialblur.cpp:116
+msgid "Size of blur"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
+#: src/modules/mod_filter/radialblur.cpp:121
+msgid "Fade Out"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
+#: src/modules/mod_geometry/checkerboard.cpp:59
+#: src/modules/mod_geometry/circle.cpp:57
+#: src/modules/mod_geometry/outline.cpp:73
+#: src/modules/mod_geometry/rectangle.cpp:60
+#: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
+msgid "Geometry"
+msgstr ""
+
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1364,37 +1302,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1433,7 +1371,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1479,6 +1417,77 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr ""
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr ""
@@ -1555,7 +1564,9 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
@@ -1563,7 +1574,7 @@ msgstr ""
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr ""
 
@@ -1579,12 +1590,12 @@ msgstr ""
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
@@ -1603,7 +1614,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1620,7 +1631,7 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
@@ -1639,24 +1650,25 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1667,11 +1679,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1700,54 +1712,59 @@ msgstr ""
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1780,7 +1797,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
@@ -1796,16 +1813,16 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
@@ -1835,7 +1852,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr ""
 
@@ -1863,54 +1880,56 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1975,6 +1994,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1982,8 +2002,8 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr ""
 
@@ -2036,66 +2056,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr ""
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr ""
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr ""
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr ""
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr ""
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr ""
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr ""
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr ""
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr ""
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr ""
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2115,24 +2242,25 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr ""
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr ""
 
@@ -2172,7 +2300,7 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr ""
 
@@ -2196,56 +2324,47 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr ""
 
@@ -2253,11 +2372,11 @@ msgstr ""
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2269,479 +2388,549 @@ msgstr ""
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr ""
 
-#: src/synfig/layer_solidcolor.cpp:56
-msgid "Solid Color"
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
+#: src/synfig/layer_solidcolor.cpp:56
+msgid "Solid Color"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+msgid "Path to sound file"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr ""
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2779,8 +2968,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr ""
 
@@ -2820,13 +3009,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr ""
 
@@ -2842,12 +3031,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr ""
 
@@ -2869,23 +3058,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2903,32 +3092,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2937,8 +3122,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2946,333 +3131,249 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr ""
 
@@ -3281,45 +3382,51 @@ msgstr ""
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3343,74 +3450,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3430,228 +3590,441 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:663
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:671
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:672
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
+#: src/synfig/valuenode_composite.cpp:675
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:676
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
+#: src/synfig/valuenode_composite.cpp:684
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
+#: src/synfig/valuenode_composite.cpp:685
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
+#: src/synfig/valuenode_composite.cpp:689
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
+#: src/synfig/valuenode_composite.cpp:693
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
+#: src/synfig/valuenode_composite.cpp:696
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
+#: src/synfig/valuenode_composite.cpp:697
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:702
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:706
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
+#: src/synfig/valuenode_composite.cpp:727
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:750
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:751
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
+#: src/synfig/valuenode_composite.cpp:754
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:755
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
+#: src/synfig/valuenode_composite.cpp:764
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
+#: src/synfig/valuenode_composite.cpp:769
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
 msgstr ""
 
 #: src/synfig/valuenode_cos.cpp:156
@@ -3666,32 +4039,196 @@ msgstr ""
 msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
+msgstr ""
+
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
+msgstr ""
+
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
 #: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr ""
+
+#: src/synfig/valuenode_duplicate.cpp:195
 msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
+#: src/synfig/valuenode_duplicate.cpp:199
 msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
+#: src/synfig/valuenode_duplicate.cpp:200
 msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
+#: src/synfig/valuenode_duplicate.cpp:205
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
+msgstr ""
+
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3708,6 +4245,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3716,58 +4265,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3796,27 +4375,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr ""
 
@@ -3832,58 +4399,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3915,7 +4458,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3952,16 +4495,16 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -3994,27 +4537,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4046,15 +4589,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4078,24 +4621,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4106,10 +4649,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4121,229 +4668,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4356,320 +4915,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
 msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr "s "
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index e375e80..2453ee9 100644
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 40786ea..8752ced 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,5 +1,5 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/synfig/"
 "language/zh_CN/)\n"
@@ -20,166 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr "填充矩形"
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr "示例"
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "颜色"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr "填充层的颜色"
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "点1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr "矩形的第一个角"
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "点2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr "矩形的第二个角"
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr "羽化 X"
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr "羽化 Y"
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "倒角"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr "对拐角采用倒角"
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr "保持倒角圆状"
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr "选上后倒角是圆状的"
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr "变形球"
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr "渐变"
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr "球"
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr "半径"
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr "权重"
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr "渐变左边"
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr "渐变右边"
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr "仅正向"
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr "简单圆形"
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "中心"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "圆心"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "半径"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "这是圆的半径"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "文本"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
 msgstr "其他"
 
@@ -199,6 +50,17 @@ msgstr "空字体集"
 msgid "Text to Render"
 msgstr "要渲染的文本"
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "颜色"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "文本的颜色"
@@ -213,6 +75,7 @@ msgstr "风格"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
 msgstr "普通"
 
@@ -225,6 +88,7 @@ msgid "Italic"
 msgstr "斜体"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
 msgstr "浓淡"
 
@@ -265,8 +129,8 @@ msgid "Describes how close lines of text are vertically"
 msgstr "描述垂直方向的文本行与行之间的靠近程度"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
@@ -286,16 +150,17 @@ msgid "Text Orientation"
 msgstr "文本的方向"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
 msgstr "原点"
 
@@ -328,96 +193,101 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr "如果您准备动画文本,请把它关掉"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
 msgstr "反相"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr "没有加载的面,不渲染文本。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
 msgstr "文本太小,将不做渲染。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr "未能设置面的大小。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "无效的多字节系列 —— is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr "不能处理多字节字符。\n"
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "倒角"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "风格化"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "类型"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
 msgstr "要采用的模糊类型"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
 msgstr "盒形模糊"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
 msgstr "快速高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
 msgstr "交叉影线模糊"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
 msgstr "高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
 msgstr "圆盘形模糊"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
 msgstr "亮色"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
 msgstr "暗色"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
 msgstr "光线角度"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
 msgstr "倒角深度"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
 msgstr "柔和"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
 msgstr "使用亮度 (Luma)"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
 msgstr "实地"
 
@@ -429,7 +299,7 @@ msgstr "区域集"
 msgid "Set of regions to combine"
 msgstr "要结合的区域集"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
 msgstr "夹子"
 
@@ -468,28 +338,101 @@ msgstr "下限"
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "曲线翘曲"
+
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "变形"
+
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "宽度"
+
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "起点"
+
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "终点"
+
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "顶点"
+
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
+msgstr ""
+
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "快速"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
 msgid "Import Image"
 msgstr "导入图像"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "文件名好像已经设置为“%s”(%s)"
 
-#: src/modules/lyr_std/import.cpp:293
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
 msgid "Filename"
 msgstr "文件名"
 
-#: src/modules/lyr_std/import.cpp:294
+#: src/modules/lyr_std/import.cpp:318
 msgid "File to import"
 msgstr "要输入的文件"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
 msgid "Time Offset"
 msgstr "时间偏移"
 
-#: src/modules/lyr_std/import.cpp:299
+#: src/modules/lyr_std/import.cpp:323
 msgid "Time Offset to apply to the imported file"
 msgstr "对导入文件施用的时间偏移"
 
@@ -497,17 +440,9 @@ msgstr "对导入文件施用的时间偏移"
 msgid "Inside Out"
 msgstr "里翻外"
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr "变形"
-
 #: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
-msgstr "定义放置中心的地点"
+msgid "Defines where the center will be"
+msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -660,7 +595,7 @@ msgstr "外部位移"
 msgid "Scale Outside"
 msgstr "外部缩放"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
 msgstr "旋转"
 
@@ -671,15 +606,14 @@ msgstr "变换"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "您想要放置原点的位置点"
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
@@ -695,7 +629,7 @@ msgstr "旋转量"
 msgid "Shade"
 msgstr "阴影"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
 msgstr "阴影大小"
 
@@ -705,7 +639,7 @@ msgid "Spherize"
 msgstr "球面化"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
 msgstr "位置"
 
@@ -713,6 +647,17 @@ msgstr "位置"
 msgid "Where the sphere distortion is centered"
 msgstr "球状变形的中点"
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "半径"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "球状变形的大小"
@@ -753,6 +698,14 @@ msgstr "拉伸"
 msgid "Size of the stretch relative to its Center"
 msgstr "相对其中心的拉伸幅度"
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "中心"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr "拉伸变形的中心"
@@ -773,50 +726,39 @@ msgstr "按每秒的次数计的频闪频率"
 msgid "Super Sample"
 msgstr "超样本"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr "未能创建表面目标"
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr "宽度"
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr "样本区域的宽度(按像素)"
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
 msgstr "高度"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
 msgstr "样本区域的高度(按像素)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
 msgstr "参数化"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr "使用参数化渲染器"
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr "确保透明(Alpha)安全"
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr "选中后避免产生alpha伪像"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "时间循环"
@@ -829,40 +771,40 @@ msgstr "链接时间"
 msgid "Start time of the loop for the cycled context"
 msgstr "循环的起始时间"
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "本地时间"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "促成循环启动的时间"
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "持续"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr "循环的长度"
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr "仅为正的持续时间"
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr "选中后将只循环正的周期"
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr "对称"
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "选中后,循环以本地时间为中点做镜像"
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "位移"
 
@@ -870,6 +812,19 @@ msgstr "位移"
 msgid "Twirl"
 msgstr "旋扭"
 
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr "圆心"
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
+msgstr "这是圆的半径"
+
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
 msgstr "旋转"
@@ -946,58 +901,6 @@ msgstr "地平线"
 msgid "Height that determines the horizon in perspectives"
 msgstr "决定水平透视的高度"
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr "曲线翘曲"
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr "起点"
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr "终点"
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "顶点"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr "快速"
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "异或图案"
@@ -1010,10 +913,11 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
 msgstr "缩放"
 
@@ -1025,59 +929,59 @@ msgstr ""
 msgid "Point to scale from"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
 msgstr "未能打开%s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
 msgstr "%s不是 BMP 格式的"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr "不支持读取压缩过的位图"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr "不支持的位深(bit_count=%d,应该是24或32)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr "(动画的)"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
 msgstr "未能打开文件"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr "未能把文件头写入文件"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr "未能写入信息头"
 
@@ -1089,37 +993,137 @@ msgstr "未能写入信息头"
 msgid "Unable to open pipe to encodedv"
 msgstr "未能打开 encodedv 的管道"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "填充矩形"
+
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "示例"
+
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "填充层的颜色"
+
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "点1"
+
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "矩形的第一个角"
+
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "点2"
+
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "矩形的第二个角"
+
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "羽化 X"
+
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "羽化 Y"
+
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
+msgstr "对拐角采用倒角"
+
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
+msgstr "保持倒角圆状"
+
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
+msgstr "选上后倒角是圆状的"
+
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "变形球"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "渐变"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr "球"
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr "半径"
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr "权重"
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr "渐变左边"
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr "渐变右边"
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr "仅正向"
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "简单圆形"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
 msgid ""
 "Error: No FFmpeg binary found.\n"
 "\n"
 "Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
 msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "未能打开 ffmpeg 的管道"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
 msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr "未能打开 ffmpeg 的管道"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
 msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr "未能打开 ffmpeg 的管道"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
 msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "未能打开 ffmpeg 的管道"
+msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
 msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "未能打开 ffmpeg 的管道"
+msgstr ""
 
 #: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
@@ -1130,7 +1134,7 @@ msgstr "模糊"
 msgid "Blurs"
 msgstr "模糊"
 
-#: src/modules/mod_filter/blur.cpp:414
+#: src/modules/mod_filter/blur.cpp:416
 msgid "Size of Blur"
 msgstr "模糊大小"
 
@@ -1244,13 +1248,13 @@ msgstr "模糊大小"
 msgid "Fade Out"
 msgstr "淡出"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr "棋盘"
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "高级轮廓"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
@@ -1258,77 +1262,6 @@ msgstr "棋盘"
 msgid "Geometry"
 msgstr "几何图形"
 
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr "棋子颜色"
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr "棋子中点"
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr "棋子大小"
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "圆形"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "圆形的半径"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr "羽化"
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr "圆形的羽化量"
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr "反相圆形"
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr "衰减"
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr "决定羽化的衰减功能"
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "线性"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr "平方"
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr "平方根"
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr "西格玛"
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr "余弦"
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr "高级轮廓"
-
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
@@ -1371,37 +1304,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr "圆的"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr "方的"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr "尖的"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr "平的"
 
@@ -1440,7 +1373,7 @@ msgstr "决定宽度点之间的变化。(0)线性 (1)平滑"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
@@ -1486,6 +1419,77 @@ msgstr "虚线项目偏移"
 msgid "Distance to Offset the Dash Items"
 msgstr "偏移虚线项目的距离"
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "棋盘"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "棋子颜色"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "棋子中点"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "棋子大小"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "圆形"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "圆形的半径"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "羽化"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "圆形的羽化量"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "反相圆形"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "衰减"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr "决定羽化的衰减功能"
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "线性"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "平方"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "平方根"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr "西格玛"
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "余弦"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
 msgstr "轮廓"
@@ -1562,7 +1566,9 @@ msgstr "星形内角的半径"
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "角度"
 
@@ -1570,7 +1576,7 @@ msgstr "角度"
 msgid "The orientation of the star"
 msgstr "星形的朝向"
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
 msgstr "尖角"
 
@@ -1586,12 +1592,12 @@ msgstr "常规多边形"
 msgid "Whether to draw a star or a regular polygon"
 msgstr "是否绘成星形或常规多边形"
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr "未能打开“%s”取得写入权限"
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr "没有设置描述!"
 
@@ -1610,7 +1616,7 @@ msgstr "渐变"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
@@ -1627,7 +1633,7 @@ msgstr "渐变围绕变化的中心参考点"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "选中后渐变是循环的"
@@ -1646,24 +1652,25 @@ msgid "Global width of the gradient"
 msgstr "渐变的全局宽度"
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
 msgstr "循环"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "之字形"
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
@@ -1674,11 +1681,11 @@ msgstr "垂直线"
 msgid "Linear Gradient"
 msgstr "线性渐变"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
 msgstr "渐变起点"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
 msgstr "渐变终点"
 
@@ -1707,54 +1714,59 @@ msgstr "顺时针"
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
 msgstr "无文件可加载"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
+msgstr ""
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
 msgstr "未能打开"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr "未能获得帧"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr "坏面"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr "未能打开至 Imageagic 的管道"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr "直到流的结尾也没有找到 PPM 头"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr "流不是 PPM 格式"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr "文件过早结束(文件头之后)"
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr "文件过早结束"
 
@@ -1787,7 +1799,7 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "插值方法"
@@ -1803,16 +1815,16 @@ msgid "Nearest Neighbor"
 msgstr "最近的邻居"
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "立方"
@@ -1842,7 +1854,7 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
 msgstr "随机"
 
@@ -1870,54 +1882,56 @@ msgstr "超级取样"
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
 msgstr "链接"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "种子"
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr "时间循环"
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
@@ -1982,6 +1996,7 @@ msgid ""
 msgstr "如果打开,渐变的透明度通道用茎的大小相乘,在渲染是使用的透明度为1.0"
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr "颠倒"
 
@@ -1989,8 +2004,8 @@ msgstr "颠倒"
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "如果激活,植物出现在另一面"
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
 msgstr "步长"
 
@@ -2043,66 +2058,173 @@ msgstr "使用宽度"
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s 不是 PPM 格式"
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
-msgstr "输入::打开():不能打开空文件名"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
-msgstr "输入::打开():不能找到扩展名"
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "布尔"
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
-msgstr "输入::打开():未知文件类型——"
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "整数"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "角度"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "实数"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "时间"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "向量"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "颜色"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "线段"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr ""
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
+msgstr ""
+
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
+msgstr ""
+
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "清单"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "画布"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "字符串"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "渐变"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr ""
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr ""
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
+msgstr ""
+
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr "清单没有图像"
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr "内联"
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
 msgstr "单位"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
 msgstr "像素"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
 msgstr "英寸"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
 msgstr "米"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
 msgstr "毫米"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
 msgstr "厘米"
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr "输入::打开():不能打开空文件名"
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr "输入::打开():不能找到扩展名"
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
+msgstr "输入::打开():未知文件类型——"
+
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr "未能创建面目标"
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
 msgstr "Z 深度"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2122,24 +2244,25 @@ msgstr "右下角"
 msgid "Lower right-hand Corner of image"
 msgstr "图像的右下角"
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "混合方式"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
 msgstr "复制"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
 msgstr "索引"
 
@@ -2179,7 +2302,7 @@ msgstr "二次抽样类型"
 msgid "Curve Type For Weighting Subsamples"
 msgstr "用于权重子样本的曲线类型"
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
 msgstr "常量"
 
@@ -2203,56 +2326,47 @@ msgstr "二次抽样末量"
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "最后子样本的相关量,用于线性权重"
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr ""
+
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Canvas"
 msgstr "画布"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:138
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr "缩放"
-
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr "画布的大小"
-
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
-msgstr "子女锁"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr "聚焦点"
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr "缩放时用来保持固定的点"
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
 msgstr "当前时间"
 
@@ -2260,11 +2374,11 @@ msgstr "当前时间"
 msgid "Polygon"
 msgstr "多边形"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
@@ -2276,479 +2390,551 @@ msgstr "图形"
 msgid "Internal"
 msgstr "内部"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr "层图形颜色"
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
 msgstr "抗锯齿"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
 msgstr "羽化类型"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
 msgstr "要使用的羽化类型"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
 msgstr "蜿蜒风格"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
 msgstr "要使用的蜿蜒风格"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
 msgstr "非零"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
 msgstr "奇/偶"
 
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr ""
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "名字"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr ""
+
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
 msgstr "平涂色"
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/layer_sound.cpp:51
+#, fuzzy
+msgid "Sound"
+msgstr "圆的"
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "未能打开文件"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "开关"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "不能递归加载‘%s’"
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "非期望的元素<%s>,而期望的是<%s>"
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "非期望的颜色<%s>"
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
 msgstr "太多警告"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s>需要“%s”属性"
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s>里不应包含如何东西"
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>需要“值“属性"
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "在<%s>中出现错误的值“%s”"
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s>需要“pos”属性"
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "未能用“%s”创建 <aminated>"
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint>缺少“时间”属性"
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr "发现<waypoint>“用“属性,但不是空的。忽略内容..."
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s>缺失数据"
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr "<waypoint>的错误数据"
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "非期望的<%s>元素出现在<waypoint>数据之后,忽略..."
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "<%s>中缺失“类型”属性"
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "<%s>的错误类型"
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "使用类型'%s'创建值节点<%s>出错。参考'%s'"
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s>不接受‘%s’类型"
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "‘%s’已经在<%s>中定义了"
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "在<%s>中的属性‘%s‘引用未知 ID‘%s’"
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr "未能设置链接“%s”到值节点“%s”(链接#%d在“%s”)"
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "当参考值节点“%s”时,有未知异常抛出"
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "元素<%s>丢失其内容"
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "‘%s’的解释失败"
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "未能联接值节点('%s'类型的'%s')到链接%d(%s)"
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "在处理“%s”元素时未知例外抛出"
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> 缺少链接 %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry>缺少其内容或缺少“使用”元素"
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr "未能创建<dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "<%s>中有坏数据"
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "期待值节点。参考‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "坏 ID“%s”"
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "复制 ID“%s”"
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "添加值节点“%s”时抛出未知异常"
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "缺失“层”元素的“类型”属性"
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr "安装的层的版本号小于文件中的"
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<layer>的<name>条目是不支持的。正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<layer>的<desc>条目是不支持的。正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr "缺失<param>的”名字“属性。"
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr "找到<param>”使用“属性,但它不是空的。正在忽略内容..."
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr "在<param>中空的使用值"
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "加载子画布失败‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr "层退回画布链接"
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param>可能缺失其内容,或者是缺失一个”使用“属性。"
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr "用于<param>的坏数据"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "层‘%s’弹出值给参数‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "非期望望的元素<%s> 在 <param> 数据,正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "画布的宽度或高度小于一是不允许的"
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr "<meta>必须有名字"
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr "<meta>必须有内容"
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr "空白的“名字”栏"
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr "空白的“描述”栏"
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr "空白的“作者”栏"
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "画布‘%s’还么定义%s:%s"
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr "值节点"
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr "值节点"
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr "不能打开文件"
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API 版本不匹配(库:%d,程序:%d)"
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "向量大小不匹配(程序:%d,库:%d)"
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "颜色大小不匹配(app:%d,lib:%d)"
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "画布大小不匹配(app:%d, lib%d)"
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "层的大小不匹配(app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr "正在启动“模块”子系统"
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
-msgstr "未能初始化“模块”子系统"
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
+msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr "正在启动“层子系统”"
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "未能初始化“层”子系统"
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr "正在启动“目标”子系统"
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "未能初始化“目标”子系统"
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr "正在启动“输入”子系统"
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "未能初始化“输入”子系统"
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "正在启动“值节点”子系统"
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "未能初始化“值节点”子系统"
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr "正在从%s中加载模块"
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "未能打开模块列表文件‘%s’"
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr "完成"
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr "错误"
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
 msgstr "警告"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
 msgstr "信息"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr "lt_dlinit() 的错误"
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr "未能加载'%s'模块"
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr "正在注册“%s”"
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr "未能找到“%s”(%s)模块"
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr "发现“%s”模块"
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr "未能在“%s(%s)”模块中找到人口点"
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr "入口点没有返回模块。"
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr "成功“%s”"
@@ -2786,8 +2972,8 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
 msgstr "复合"
 
@@ -2827,13 +3013,13 @@ msgstr ""
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
 msgstr "添加"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
 msgstr "部分追踪"
 
@@ -2849,12 +3035,12 @@ msgstr ""
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
 msgstr "色调"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
 msgstr "饱和度"
 
@@ -2876,23 +3062,23 @@ msgstr ""
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr "目标 Panic"
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "未知的值(%s),不能创建 XML Representation!"
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "未知值节点类型(%s),不能创建 XML representation"
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr "目标初始化失败"
 
@@ -2910,32 +3096,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr "捕捉到字符:"
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr "超出内存(可能是个 Bug)"
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr "捕捉到未知错误,正在重新抛出..."
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr "坏 Tile 大小"
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr "加速渲染器失败"
 
@@ -2944,8 +3126,8 @@ msgstr "加速渲染器失败"
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr "添加标题():未能放置面到目标上"
 
@@ -2953,333 +3135,249 @@ msgstr "添加标题():未能放置面到目标上"
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr "带参数的渲染器失败"
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr "坏的面"
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
-msgstr "布尔"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
+msgstr "半径复合"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr "整数"
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "引用"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr "角度"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr "时间"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
-msgstr "实数"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
-msgstr "向量"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr "颜色"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr "线段"
-
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr "BLine 点"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr "清单"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr "画布"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr "字符串"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr "渐变"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr "无"
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr "半径复合"
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr "引用"
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "线段切线"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "线段顶点"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "条纹"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "双色调"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
 msgid "Dynamic List"
 msgstr "动态清单"
 
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "渐变旋转"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "正弦"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
 msgstr "定时交换"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "重复渐变"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "指数"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
 msgstr "范围"
 
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr "开关"
-
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "余弦"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
 msgstr "反正切"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "倒数"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
 msgstr "整数"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
 msgstr "向量角度"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
 msgstr "向量长度"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
 msgstr "向量 X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
 msgstr "向量 Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
 msgstr "渐变色"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
 msgstr "时间字符串"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
 msgstr "实数"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
 msgstr "实数字符串"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
 msgstr "加入的清单"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
 msgstr "角度字符串"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
 msgstr "整数字符串"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
 msgstr "对数"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
 msgstr "变灰的"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "幂"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "比较"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
 msgstr "非"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
 msgstr "与"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
 msgstr "或"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "错误类型:值节点‘%s’不接受‘%s’类型"
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
 msgstr "位置标志符"
 
@@ -3288,45 +3386,51 @@ msgstr "位置标志符"
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d,%s的错误类型:需要%s却得到%s"
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ":错误类型"
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr "我的参数的一个或两个都没有被设定!"
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr "左侧"
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr "右侧"
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr "等比"
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3350,74 +3454,127 @@ msgstr "链接2"
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr "精度"
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr "零填充"
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "在这个时间点上已存在一个航点"
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s:您不能在有动画的值节点中使用一个%s"
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
 msgstr "动画"
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
+msgstr "X"
+
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr ""
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr "清单中没有条目"
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr "没有条目在 Ret_list"
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr "顶点%03d"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr "偏移"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
 msgstr "固定长度"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3449,256 +3606,633 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
 msgid "Bad type for composite"
 msgstr "复合的错误类型"
 
-#: src/synfig/valuenode_composite.cpp:474
+#: src/synfig/valuenode_composite.cpp:629
 msgid "Red"
 msgstr "红"
 
-#: src/synfig/valuenode_composite.cpp:475
+#: src/synfig/valuenode_composite.cpp:630
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
+#: src/synfig/valuenode_composite.cpp:633
 msgid "Green"
 msgstr "绿"
 
-#: src/synfig/valuenode_composite.cpp:479
+#: src/synfig/valuenode_composite.cpp:634
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:637
 msgid "Blue"
 msgstr "蓝"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:638
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
+#: src/synfig/valuenode_composite.cpp:641
 msgid "Alpha"
 msgstr "透明"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:642
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
+#: src/synfig/valuenode_composite.cpp:650
 msgid "Vertex 1"
 msgstr "顶点1"
 
-#: src/synfig/valuenode_composite.cpp:493
+#: src/synfig/valuenode_composite.cpp:651
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
 msgid "Tangent 1"
 msgstr "切线1"
 
-#: src/synfig/valuenode_composite.cpp:497
+#: src/synfig/valuenode_composite.cpp:655
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:658
 msgid "Vertex 2"
 msgstr "顶点2"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:659
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
-msgstr "切线2"
-
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
+msgstr "切线2"
+
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr "顶点"
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "插值"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "长度"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "值"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr ""
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
+msgstr "增幅"
+
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
+msgstr ""
+
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
-msgstr "顶点"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
+msgstr "从"
+
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
+msgstr "到"
+
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
-msgstr "增幅"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
+msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
-msgstr "从"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
-msgstr "到"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
+msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "清单类型/项目不匹配,抛弃不匹配的"
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
 msgstr "项目%03d"
@@ -3715,6 +4249,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3723,58 +4269,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr ""
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr ""
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
 msgstr "字符串"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
 msgstr "之前"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr "分割器"
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
 msgstr "之后"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr "比率"
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr "倾斜"
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr "无穷"
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr "非"
@@ -3803,27 +4379,15 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr "无穷"
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr "径向复合的错误类型"
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
 msgstr "亮度"
 
@@ -3839,58 +4403,34 @@ msgstr "θ"
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr "我的一些参数没有设定!"
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr "最小"
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr "最大"
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr "精度"
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr "零填充"
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3922,7 +4462,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3959,16 +4499,16 @@ msgstr "终点颜色"
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr "试图获取一个不可反的值节点的相反值"
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
@@ -4001,27 +4541,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr "开始时间"
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr "交集"
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4053,15 +4593,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4085,24 +4625,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
 msgstr "时间"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4113,10 +4653,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4128,555 +4672,538 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "向量"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "致命错误:Synfig 版本不匹配"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "设定"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr "设置图像窗口的对角大小(跨径)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr "设置参数化渲染器的抗锯齿量。"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
-msgstr ""
+msgstr "伽马"
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr "指定输出的文件名"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr "渲染所给出的id号的画布,而非根画布。"
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr "设定帧率"
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr "渲染单帧<seconds>"
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr "设定起始时间"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr "设定结尾时间"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "安静模式(不显示进度/剩余时间)"
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr "添加<filename>中的层到作品总"
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr "打印该根画布的特殊细节"
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr "打印可用的输入器列表"
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr "打印杂项构建信息"
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr "打印可用的层列表"
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr "打印层的描述,参数信息,等等。"
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr "打印许可证信息"
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr "打印已加载的模块列表"
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr "打印可用的目标列表"
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr "打印可用的值节点列表"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr "打印版本信息"
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr "测试 GUID 生产"
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr "测试信号实现"
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
-msgstr ""
+msgstr "无事可做!"
 
 #: src/tool/joblistprocessor.cpp:84
 msgid "Attempting to determine target/outfile..."
-msgstr ""
+msgstr "试图决定目标/输出文件..."
 
 #: src/tool/joblistprocessor.cpp:90
 msgid "Target name undefined, attempting to figure it out"
-msgstr ""
+msgstr "目标名字为确认,正尝试着推测"
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "默认目标为 PNG..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
-msgstr ""
+msgstr "抛出任务..."
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
-msgstr ""
+msgstr "创建目标..."
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
-msgstr ""
+msgstr "设定目标上的画布..."
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
-msgstr ""
+msgstr "设定目标的品质..."
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "正在渲染..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "完成。"
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
-msgstr ""
+msgstr "未能辨认的画布变量:"
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
-msgstr ""
+msgstr "辨认到的变量有:"
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
-msgstr ""
+msgstr "冗长设至"
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
-msgstr ""
+msgstr "抗锯齿设为 %d,(%d samples per pixel)"
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
-msgstr ""
+msgstr "宽度设为%d 单位"
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
-msgstr ""
+msgstr "帧率设为%d 帧/秒"
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
-msgstr ""
+msgstr "物理分辨率设为%f dpi"
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
-msgstr ""
+msgstr "物理 X 分辨率设为%f dpi"
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
-msgstr ""
+msgstr "物理 Y 分辨率设为%f dpi"
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
-msgstr ""
+msgstr "渲染帧"
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
-msgstr ""
+msgstr "品质设为"
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
-msgstr ""
+msgstr "未能添加"
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
-msgstr ""
+msgstr "添加的内容"
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
-msgstr ""
+msgstr "结束时间"
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
-msgstr ""
+msgstr "帧率"
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
-msgstr ""
+msgstr "起始帧"
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
-msgstr ""
+msgstr "结束帧"
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "图像比率"
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
-msgstr ""
+msgstr "像素宽度"
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
-msgstr ""
+msgstr "像素高度"
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
-msgstr ""
+msgstr "像素比率"
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
-msgstr ""
+msgstr "左上角"
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
-msgstr ""
+msgstr "右下角"
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
-msgstr ""
+msgstr "物理宽度"
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
-msgstr ""
+msgstr "物理高度"
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
-msgstr ""
+msgstr "X 分辨率"
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
-msgstr ""
+msgstr "Y 分辨率"
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
-msgstr ""
+msgstr "图像对角跨度"
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
-msgstr ""
+msgstr "交错"
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
-msgstr ""
+msgstr "抗锯齿"
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
-msgstr ""
+msgstr "标志"
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "焦点"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "背景色"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "元数据"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
new file mode 100644
index 0000000..792d567
Binary files /dev/null and b/po/zh_TW.gmo differ
diff --git a/po/ja_JP.po b/po/zh_TW.po
similarity index 61%
copy from po/ja_JP.po
copy to po/zh_TW.po
index 7c32e82..b99e7f7 100644
--- a/po/ja_JP.po
+++ b/po/zh_TW.po
@@ -1,191 +1,40 @@
 # Translation file for Synfig Core package.
-# Copyright (C) 2013 Synfig Contributors
+# Copyright (C) 2015 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# cyaoeu <cyaoeu at gmail.com>, 2013
-# cyaoeu <cyaoeu at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2014-10-11 20:54+0700\n"
-"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"POT-Creation-Date: 2015-04-24 13:43+0600\n"
+"PO-Revision-Date: 2015-04-08 16:07+0000\n"
 "Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
-"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/synfig/"
-"language/ja_JP/)\n"
-"Language: ja_JP\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/synfig/"
+"language/zh_TW/)\n"
+"Language: zh_TW\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:59
-msgid "Filled Rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:60
-#: src/modules/mod_example/metaballs.cpp:58
-#: src/modules/mod_example/simplecircle.cpp:58
-msgid "Example"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/shade.cpp:620
-#: src/modules/mod_geometry/checkerboard.cpp:146
-#: src/modules/mod_geometry/circle.cpp:146
-#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
-#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
-msgid "Color"
-msgstr "色彩"
-
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:147
-#: src/modules/mod_geometry/rectangle.cpp:139
-#: src/synfig/layer_solidcolor.cpp:115
-msgid "Fill color of the layer"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:136
-#: src/modules/mod_geometry/rectangle.cpp:143
-#: src/modules/mod_gradient/lineargradient.cpp:185
-msgid "Point 1"
-msgstr "頂点 1"
-
-#: src/modules/mod_example/filledrect.cpp:137
-#: src/modules/mod_geometry/rectangle.cpp:145
-msgid "First corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:142
-#: src/modules/mod_geometry/rectangle.cpp:149
-#: src/modules/mod_gradient/lineargradient.cpp:190
-msgid "Point 2"
-msgstr "頂点 2"
-
-#: src/modules/mod_example/filledrect.cpp:143
-#: src/modules/mod_geometry/rectangle.cpp:150
-msgid "Second corner of the rectangle"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:147
-msgid "Feather X"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:152
-msgid "Feather Y"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
-msgid "Bevel"
-msgstr "ベベル"
-
-#: src/modules/mod_example/filledrect.cpp:158
-msgid "Use Bevel for the corners"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:163
-msgid "Keep Bevel Circular"
-msgstr ""
-
-#: src/modules/mod_example/filledrect.cpp:164
-msgid "When checked the bevel is circular"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:57
-msgid "Metaballs"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:129
-#: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:565
-#: src/modules/mod_gradient/lineargradient.cpp:194
-#: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
-#: src/synfig/valuenode_gradientrotate.cpp:164
-#: src/synfig/valuenode_repeat_gradient.cpp:203
-msgid "Gradient"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:133
-msgid "Balls"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:137
-msgid "Radii"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:141
-msgid "Weights"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:145
-msgid "Gradient Left"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:149
-msgid "Gradient Right"
-msgstr ""
-
-#: src/modules/mod_example/metaballs.cpp:153
-msgid "Positive Only"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:57
-msgid "Simple Circle"
-msgstr ""
-
-#: src/modules/mod_example/simplecircle.cpp:112
-#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
-#: src/modules/mod_gradient/conicalgradient.cpp:114
-#: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:118
-msgid "Center"
-msgstr "中心"
-
-#: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
-msgid "Center of the circle"
-msgstr "円の中心"
-
-#: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
-#: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:123
-#: src/modules/mod_noise/valuenode_random.cpp:270
-#: src/synfig/valuenode_radialcomposite.cpp:272
-msgid "Radius"
-msgstr "半径"
-
-#: src/modules/mod_example/simplecircle.cpp:118
-#: src/modules/lyr_std/twirl.cpp:118
-#: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:124
-msgid "This is the radius of the circle"
-msgstr "これが円の半径です"
-
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
 #: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "テキスト"
+msgstr "文字"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
-#: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
+#: src/modules/lyr_std/import.cpp:61 src/modules/lyr_std/stroboscope.cpp:61
 #: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
 #: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_skeleton.cpp:55
+#: src/synfig/layer_sound.cpp:52 src/synfig/layer_switch.cpp:59
 msgid "Other"
-msgstr ""
+msgstr "其他"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "テキストレイヤー"
+msgstr "文字圖層"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
@@ -199,117 +48,131 @@ msgstr ""
 msgid "Text to Render"
 msgstr ""
 
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:622
+#: src/modules/mod_example/filledrect.cpp:131
+#: src/modules/mod_example/simplecircle.cpp:107
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1225
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
+msgid "Color"
+msgstr "色彩"
+
 #: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr ""
+msgstr "文字顏色"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr ""
+msgstr "字型"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr ""
+msgstr "樣式"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:587
 #: src/modules/lyr_freetype/lyr_freetype.cpp:597
+#: src/synfig/valuenode_derivative.cpp:379
 msgid "Normal"
-msgstr ""
+msgstr "一般"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
-msgstr ""
+msgstr "Oblique"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr ""
+msgstr "斜體字"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/synfig/valuenode_composite.cpp:817
 msgid "Weight"
-msgstr ""
+msgstr "Weight"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
-msgstr ""
+msgstr "Ultralight"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
-msgstr ""
+msgstr "light"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr ""
+msgstr "粗體字"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr ""
+msgstr "Ultrabold"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
-msgstr ""
+msgstr "Heavy"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr ""
+msgstr "Horizontal Spacing"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
-msgstr ""
+msgstr "Describes how close glyphs are horizontally"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr ""
+msgstr "Vertical Spacing"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:613
-#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
-#: src/modules/mod_filter/blur.cpp:413
+#: src/modules/lyr_std/shade.cpp:628 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:415
 #: src/modules/mod_filter/radialblur.cpp:115
 #: src/modules/mod_geometry/checkerboard.cpp:154
 #: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr "サイズ"
+msgstr "大小"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr "テキストのサイズ"
+msgstr "文字大小"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr ""
+msgstr "方向"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr ""
+msgstr "文字方向"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:627
-#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
-#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:398 src/modules/lyr_std/insideout.cpp:162
+#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/shade.cpp:625
+#: src/modules/lyr_std/translate.cpp:100
 #: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
 #: src/modules/mod_geometry/checkerboard.cpp:150
 #: src/modules/mod_geometry/circle.cpp:161
 #: src/modules/mod_gradient/curvegradient.cpp:550
-#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
-#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:127
+#: src/synfig/layer_shape.cpp:1229 src/synfig/valuenode_bone.cpp:597
+#: src/synfig/valuenode_composite.cpp:692 src/synfig/valuenode_dynamic.cpp:241
 msgid "Origin"
-msgstr ""
+msgstr "原點"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr ""
+msgstr "文字位置"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr ""
+msgstr "字型"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr ""
+msgstr "要使用的字型檔案名稱"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
@@ -328,121 +191,126 @@ msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:649
-#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
-#: src/synfig/layer_shape.cpp:1228
+#: src/modules/lyr_std/shade.cpp:645 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1232
 msgid "Invert"
-msgstr ""
+msgstr "反轉"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:714
+#: src/modules/lyr_freetype/lyr_freetype.cpp:716
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:740
+#: src/modules/lyr_freetype/lyr_freetype.cpp:742
 msgid "Text too small, no text will be rendered."
-msgstr "テキストが小さすぎるためレンダーできません。"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:764
+#: src/modules/lyr_freetype/lyr_freetype.cpp:766
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:807
+#: src/modules/lyr_freetype/lyr_freetype.cpp:809
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:814
+#: src/modules/lyr_freetype/lyr_freetype.cpp:816
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
+#: src/modules/lyr_std/bevel.cpp:69 src/modules/mod_example/filledrect.cpp:157
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
+msgid "Bevel"
+msgstr "斜邊"
+
 #: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
-msgstr ""
+msgstr "風格化"
 
-#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
-#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/lyr_std/bevel.cpp:626 src/modules/lyr_std/shade.cpp:634
+#: src/modules/mod_filter/blur.cpp:419
 #: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "類型"
 
-#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
-#: src/modules/mod_filter/blur.cpp:418
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420
 msgid "Type of blur to use"
-msgstr ""
+msgstr "使用的模糊類型"
 
-#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
-#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1245
 msgid "Box Blur"
-msgstr ""
+msgstr "箱型模糊"
 
-#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
-#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1246
 msgid "Fast Gaussian Blur"
-msgstr ""
+msgstr "快速高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
-#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1247
 msgid "Cross-Hatch Blur"
-msgstr ""
+msgstr "交叉模糊"
 
-#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
-#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
+#: src/modules/lyr_std/bevel.cpp:632 src/modules/lyr_std/shade.cpp:640
+#: src/modules/mod_filter/blur.cpp:425 src/synfig/layer_shape.cpp:1248
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
-#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
+#: src/modules/lyr_std/bevel.cpp:633 src/modules/lyr_std/shade.cpp:641
+#: src/modules/mod_filter/blur.cpp:426 src/synfig/layer_shape.cpp:1249
 msgid "Disc Blur"
-msgstr ""
+msgstr "圓盤模糊r"
 
-#: src/modules/lyr_std/bevel.cpp:635
+#: src/modules/lyr_std/bevel.cpp:637
 msgid "Hi-Color"
-msgstr ""
+msgstr "高彩"
 
-#: src/modules/lyr_std/bevel.cpp:638
+#: src/modules/lyr_std/bevel.cpp:640
 msgid "Lo-Color"
-msgstr ""
+msgstr "低彩"
 
-#: src/modules/lyr_std/bevel.cpp:641
+#: src/modules/lyr_std/bevel.cpp:643
 msgid "Light Angle"
-msgstr ""
+msgstr "燈光角度"
 
-#: src/modules/lyr_std/bevel.cpp:645
+#: src/modules/lyr_std/bevel.cpp:647
 msgid "Depth of Bevel"
-msgstr ""
+msgstr "斜邊深度"
 
-#: src/modules/lyr_std/bevel.cpp:649
+#: src/modules/lyr_std/bevel.cpp:651
 msgid "Softness"
-msgstr ""
+msgstr "柔和"
 
-#: src/modules/lyr_std/bevel.cpp:652
+#: src/modules/lyr_std/bevel.cpp:654
 msgid "Use Luma"
-msgstr ""
+msgstr "使用亮度"
 
-#: src/modules/lyr_std/bevel.cpp:655
+#: src/modules/lyr_std/bevel.cpp:657
 msgid "Solid"
-msgstr ""
+msgstr "實體"
 
 #: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
-msgstr ""
+msgstr "區域集合"
 
 #: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
-msgstr ""
+msgstr "區域結合的集合"
 
-#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
+#: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:218
 msgid "Clamp"
-msgstr ""
+msgstr "鉗"
 
 #: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
 #: src/modules/mod_filter/halftone2.cpp:60
 #: src/modules/mod_filter/halftone3.cpp:60
 #: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr "フィルター"
+msgstr "濾鏡"
 
 #: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
-msgstr ""
+msgstr "負片反轉"
 
 #: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
@@ -468,136 +336,201 @@ msgstr ""
 msgid "Lower boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:59
-msgid "Import Image"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:56
+msgid "Curve Warp"
+msgstr "曲線彎曲"
 
-#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
-#, c-format
-msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:57 src/modules/lyr_std/insideout.cpp:56
+#: src/modules/lyr_std/sphere_distort.cpp:75
+#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
+#: src/modules/lyr_std/warp.cpp:58 src/modules/mod_noise/distort.cpp:59
+msgid "Distortions"
+msgstr "扭曲"
 
-#: src/modules/lyr_std/import.cpp:293
-msgid "Filename"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:294
-msgid "File to import"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/lyr_std/supersample.cpp:339
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_anglestring.cpp:174
+#: src/synfig/valuenode_composite.cpp:688
+#: src/synfig/valuenode_composite.cpp:726
+#: src/synfig/valuenode_intstring.cpp:170
+#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode_repeat_gradient.cpp:213
+#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:109
+msgid "Width"
+msgstr "寬度"
 
-#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
-msgid "Time Offset"
+#: src/modules/lyr_std/curvewarp.cpp:404
+msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:299
-msgid "Time Offset to apply to the imported file"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:407
+msgid "Start Point"
+msgstr "起始點"
 
-#: src/modules/lyr_std/insideout.cpp:55
-msgid "Inside Out"
+#: src/modules/lyr_std/curvewarp.cpp:409
+msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:75
-#: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
-#: src/modules/mod_noise/distort.cpp:59
-msgid "Distortions"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:412
+msgid "End Point"
+msgstr "結束點"
 
-#: src/modules/lyr_std/insideout.cpp:163
-msgid "Defines the where the center will be"
+#: src/modules/lyr_std/curvewarp.cpp:413
+msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:56
-msgid "Julia Set"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
+msgid "Vertices"
+msgstr "頂點"
 
-#: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
-msgid "Fractals"
+#: src/modules/lyr_std/curvewarp.cpp:419
+msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:335
-msgid "Inside Color"
-msgstr ""
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
+msgid "Fast"
+msgstr "快速"
+
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
+msgid "When checked, renders quickly but with artifacts"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:60
+msgid "Import Image"
+msgstr "匯入影像"
+
+#: src/modules/lyr_std/import.cpp:161 src/modules/lyr_std/import.cpp:218
+#, c-format
+msgid "Filename seems to already be set to \"%s\" (%s)"
+msgstr ""
+
+#: src/modules/lyr_std/import.cpp:317 src/modules/mod_svg/layer_svg.cpp:107
+#: src/synfig/layer_sound.cpp:101
+msgid "Filename"
+msgstr "檔案名稱"
+
+#: src/modules/lyr_std/import.cpp:318
+msgid "File to import"
+msgstr "用來匯入的檔案"
+
+#: src/modules/lyr_std/import.cpp:322 src/synfig/layer_pastecanvas.cpp:142
+msgid "Time Offset"
+msgstr "時間位移"
+
+#: src/modules/lyr_std/import.cpp:323
+msgid "Time Offset to apply to the imported file"
+msgstr ""
+
+#: src/modules/lyr_std/insideout.cpp:55
+msgid "Inside Out"
+msgstr "裡外翻轉"
+
+#: src/modules/lyr_std/insideout.cpp:163
+msgid "Defines where the center will be"
+msgstr ""
+
+#: src/modules/lyr_std/julia.cpp:56
+msgid "Julia Set"
+msgstr "Julia 集合"
+
+#: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
+msgid "Fractals"
+msgstr "分解圖形"
+
+#: src/modules/lyr_std/julia.cpp:335
+msgid "Inside Color"
+msgstr "裡外翻轉"
 
 #: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
-msgstr ""
+msgstr "色彩集合"
 
 #: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr ""
+msgstr "外框顏色"
 
 #: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
-msgstr ""
+msgstr "外框顏色集合"
 
 #: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
-msgstr ""
+msgstr "色彩位移"
 
 #: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
-msgstr ""
+msgstr "迭代"
 
 #: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
-msgstr ""
+msgstr "種子點"
 
 #: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
-msgstr ""
+msgstr "緊急基礎值"
 
 #: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
-msgstr ""
+msgstr "內部歪曲"
 
 #: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
-msgstr ""
+msgstr "內部陰影"
 
 #: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
-msgstr ""
+msgstr "內部實體"
 
 #: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
-msgstr ""
+msgstr "反轉內部"
 
 #: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
-msgstr ""
+msgstr "內部顏色"
 
 #: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
-msgstr ""
+msgstr "外部歪曲"
 
 #: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
-msgstr ""
+msgstr "外部陰影"
 
 #: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
-msgstr ""
+msgstr "外部實體"
 
 #: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
-msgstr ""
+msgstr "外部反轉"
 
 #: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
-msgstr ""
+msgstr "外框顏色"
 
 #: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
-msgstr ""
+msgstr "色彩周期"
 
 #: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
-msgstr ""
+msgstr "快框平滑化"
 
 #: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
@@ -605,7 +538,7 @@ msgstr ""
 
 #: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
-msgstr ""
+msgstr "打破集合"
 
 #: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
@@ -613,7 +546,7 @@ msgstr ""
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr ""
+msgstr "Mandelbrot 集合"
 
 #: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
@@ -623,19 +556,19 @@ msgstr ""
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
 msgid "Inside"
-msgstr ""
+msgstr "內部"
 
 #: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
-msgstr ""
+msgstr "內部漸層"
 
 #: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
-msgstr ""
+msgstr "內部位移"
 
 #: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
-msgstr ""
+msgstr "內部循環"
 
 #: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
@@ -646,73 +579,83 @@ msgstr ""
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
 msgid "Outside"
-msgstr ""
+msgstr "外部"
 
 #: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
-msgstr ""
+msgstr "外部漸層"
 
 #: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
-msgstr ""
+msgstr "外部位移"
 
 #: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
-msgstr ""
+msgstr "外部縮放"
 
-#: src/modules/lyr_std/rotate.cpp:56
+#: src/modules/lyr_std/rotate.cpp:56 src/synfig/valuenode_bonelink.cpp:223
 msgid "Rotate"
-msgstr "回転"
+msgstr "旋轉"
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr "変形"
+msgstr "變形"
 
 #: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:122
 #: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:249
-#: src/synfig/valuenode_blinecalctangent.cpp:251
+#: src/synfig/layer_composite.cpp:251 src/synfig/layer_skeleton.cpp:136
+#: src/synfig/valuenode_blinecalctangent.cpp:253
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "總量"
 
 #: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
-msgstr ""
+msgstr "旋轉總量"
 
 #: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
-msgstr ""
+msgstr "陰影"
 
-#: src/modules/lyr_std/shade.cpp:627
+#: src/modules/lyr_std/shade.cpp:629
 msgid "Size of Shade"
-msgstr ""
+msgstr "陰影大小"
 
 #: src/modules/lyr_std/sphere_distort.cpp:74
 #: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
-msgstr ""
+msgstr "球面"
 
 #: src/modules/lyr_std/sphere_distort.cpp:141
-#: src/synfig/valuenode_composite.cpp:546
+#: src/synfig/valuenode_composite.cpp:722
 msgid "Position"
-msgstr ""
+msgstr "位置"
 
 #: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117
+#: src/modules/mod_example/simplecircle.cpp:117
+#: src/modules/mod_geometry/circle.cpp:150
+#: src/modules/mod_gradient/radialgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:255
+#: src/synfig/valuenode_radialcomposite.cpp:272
+msgid "Radius"
+msgstr "半徑"
+
 #: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
@@ -731,28 +674,36 @@ msgstr ""
 
 #: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
-msgstr ""
+msgstr "歪曲類型"
 
 #: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
-msgstr ""
+msgstr "歪曲方向"
 
 #: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
-msgstr ""
+msgstr "垂直列"
 
 #: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
-msgstr ""
+msgstr "水平列"
 
 #: src/modules/lyr_std/stretch.cpp:57
 msgid "Stretch"
-msgstr ""
+msgstr "伸展"
 
 #: src/modules/lyr_std/stretch.cpp:106
 msgid "Size of the stretch relative to its Center"
 msgstr ""
 
+#: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
+#: src/modules/mod_example/simplecircle.cpp:112
+#: src/modules/mod_gradient/conicalgradient.cpp:114
+#: src/modules/mod_gradient/radialgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:118
+msgid "Center"
+msgstr "中間"
+
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
 msgstr ""
@@ -763,7 +714,7 @@ msgstr ""
 
 #: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
-msgstr ""
+msgstr "頻率"
 
 #: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
@@ -771,103 +722,105 @@ msgstr ""
 
 #: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
-msgstr ""
+msgstr "超級樣本"
 
-#: src/modules/lyr_std/supersample.cpp:146
+#: src/modules/lyr_std/supersample.cpp:148
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:337
-#: src/modules/lyr_std/curvewarp.cpp:402
-#: src/modules/mod_gradient/curvegradient.cpp:555
-#: src/synfig/valuenode_composite.cpp:524
-#: src/synfig/valuenode_composite.cpp:550
-#: src/synfig/valuenode_realstring.cpp:180
-#: src/synfig/valuenode_repeat_gradient.cpp:213
-#: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
-msgid "Width"
-msgstr ""
-
-#: src/modules/lyr_std/supersample.cpp:338
+#: src/modules/lyr_std/supersample.cpp:340
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:343 src/tool/printing_functions.cpp:115
 msgid "Height"
-msgstr ""
+msgstr "高度"
 
-#: src/modules/lyr_std/supersample.cpp:342
+#: src/modules/lyr_std/supersample.cpp:344
 msgid "Height of sample area (In pixels)"
-msgstr ""
+msgstr "樣本區域高度 (像素)"
 
-#: src/modules/lyr_std/supersample.cpp:345
+#: src/modules/lyr_std/supersample.cpp:347
 msgid "Use Parametric"
-msgstr ""
+msgstr "使用參數"
 
-#: src/modules/lyr_std/supersample.cpp:346
+#: src/modules/lyr_std/supersample.cpp:348
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:349
+#: src/modules/lyr_std/supersample.cpp:351
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:350
+#: src/modules/lyr_std/supersample.cpp:352
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:177
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
-msgstr ""
+msgstr "時間循環"
 
 #: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
-msgstr ""
+msgstr "連結時間"
 
 #: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
-msgstr ""
+msgstr "本地時間"
 
-#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:140 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:145 src/synfig/valuenode_step.cpp:197
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
-msgstr ""
+msgstr "持續時間"
 
-#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:146
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:148
+#: src/modules/lyr_std/timeloop.cpp:151
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:149
+#: src/modules/lyr_std/timeloop.cpp:152
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:153
+#: src/modules/lyr_std/timeloop.cpp:157
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:154
+#: src/modules/lyr_std/timeloop.cpp:158
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/translate.cpp:55
+#: src/modules/lyr_std/translate.cpp:55 src/synfig/valuenode_bonelink.cpp:218
 msgid "Translate"
 msgstr "移動"
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
+msgstr "扭轉"
+
+#: src/modules/lyr_std/twirl.cpp:113
+#: src/modules/mod_example/simplecircle.cpp:113
+#: src/modules/mod_geometry/circle.cpp:162
+msgid "Center of the circle"
+msgstr ""
+
+#: src/modules/lyr_std/twirl.cpp:118
+#: src/modules/mod_example/simplecircle.cpp:118
+#: src/modules/mod_gradient/radialgradient.cpp:124
+#: src/modules/mod_gradient/spiralgradient.cpp:124
+msgid "This is the radius of the circle"
 msgstr ""
 
 #: src/modules/lyr_std/twirl.cpp:124
@@ -946,58 +899,6 @@ msgstr ""
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:56
-msgid "Curve Warp"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:399
-msgid "Position of the destiny Spline line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:404
-msgid "How much is expanded the result perpendicular to the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:407
-msgid "Start Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:409
-msgid "First point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:412
-msgid "End Point"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:413
-msgid "Final point of the source line"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:416
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:823
-#: src/modules/mod_geometry/region.cpp:238
-#: src/modules/mod_gradient/curvegradient.cpp:559
-#: src/modules/mod_particle/plant.cpp:424
-msgid "Vertices"
-msgstr "頂点"
-
-#: src/modules/lyr_std/curvewarp.cpp:419
-msgid "List of Spline Points where the source line is curved to"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:422
-#: src/modules/mod_geometry/advanced_outline.cpp:1189
-#: src/modules/mod_gradient/curvegradient.cpp:580
-msgid "Fast"
-msgstr ""
-
-#: src/modules/lyr_std/curvewarp.cpp:423
-#: src/modules/mod_gradient/curvegradient.cpp:581
-msgid "When checked, renders quickly but with artifacts"
-msgstr ""
-
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr ""
@@ -1010,74 +911,75 @@ msgstr ""
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_blinecalctangent.cpp:261
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:154
+#: src/synfig/valuenode_blinecalctangent.cpp:263
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
-#: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
+#: src/synfig/valuenode_composite.cpp:808 src/synfig/valuenode_exp.cpp:155
+#: src/synfig/valuenode_scale.cpp:225
 msgid "Scale"
-msgstr ""
+msgstr "縮放"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
-msgstr ""
+msgstr "縮放總量"
 
 #: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
-msgstr ""
+msgstr "從哪個點開始縮放"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
-#: src/modules/mod_ppm/mptr_ppm.cpp:78
+#: src/modules/mod_bmp/mptr_bmp.cpp:132 src/modules/mod_bmp/mptr_bmp.cpp:133
+#: src/modules/mod_ppm/mptr_ppm.cpp:70
 #, c-format
 msgid "Unable to open %s"
-msgstr ""
+msgstr "無法開啟 %s"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
+#: src/modules/mod_bmp/mptr_bmp.cpp:144 src/modules/mod_bmp/mptr_bmp.cpp:145
 #, c-format
 msgid "%s is not in BMP format"
-msgstr ""
+msgstr "%s 不是 BMP 格式"
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:150
+#: src/modules/mod_bmp/mptr_bmp.cpp:151
 #, c-format
-msgid "Failure while reading BITMAPFILEHEADER from %s"
+msgid "Failure while reading BITMAP::FILEHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:158
+#: src/modules/mod_bmp/mptr_bmp.cpp:159
 #, c-format
-msgid "Failure while reading BITMAPINFOHEADER from %s"
+msgid "Failure while reading BITMAP::INFOHEADER from %s"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:168
+#: src/modules/mod_bmp/mptr_bmp.cpp:169
 #, c-format
-msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgid "Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:176
+#: src/modules/mod_bmp/mptr_bmp.cpp:177
 #, c-format
-msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgid "Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
+#: src/modules/mod_bmp/mptr_bmp.cpp:195 src/modules/mod_bmp/mptr_bmp.cpp:196
 msgid "Reading compressed bitmaps is not supported"
 msgstr ""
 
-#: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
+#: src/modules/mod_bmp/mptr_bmp.cpp:202 src/modules/mod_bmp/mptr_bmp.cpp:203
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:184
+#: src/modules/mod_bmp/trgt_bmp.cpp:187
 msgid " (animated)"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
+#: src/modules/mod_bmp/trgt_bmp.cpp:197 src/modules/mod_bmp/trgt_bmp.cpp:198
 msgid "Unable to open file"
-msgstr "ファイルを開けません"
+msgstr "無法開啟檔案"
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
+#: src/modules/mod_bmp/trgt_bmp.cpp:228 src/modules/mod_bmp/trgt_bmp.cpp:229
 msgid "Unable to write file header to file"
 msgstr ""
 
-#: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
+#: src/modules/mod_bmp/trgt_bmp.cpp:235 src/modules/mod_bmp/trgt_bmp.cpp:236
 msgid "Unable to write info header"
 msgstr ""
 
@@ -1089,247 +991,278 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:206
-msgid ""
-"Error: No FFmpeg binary found.\n"
-"\n"
-"Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
-msgstr ""
-
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:273
-#, fuzzy
-msgid "Unable to open pipe to ffmpeg (no pipe)"
-msgstr "ファイルを開けません"
-
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:280
-msgid "Unable to open pipe to ffmpeg (pid == -1)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:59
+msgid "Filled Rectangle"
+msgstr "矩型填滿"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:60
+#: src/modules/mod_example/metaballs.cpp:58
+#: src/modules/mod_example/simplecircle.cpp:58
+msgid "Example"
+msgstr "取樣"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:312
-#, fuzzy
-msgid "Unable to open pipe to ffmpeg (exec failed)"
-msgstr "ファイルを開けません"
+#: src/modules/mod_example/filledrect.cpp:132
+#: src/modules/mod_example/simplecircle.cpp:108
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
+msgid "Fill color of the layer"
+msgstr "填滿顏色的圖層"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:330
-#, fuzzy
-msgid "Unable to open pipe to ffmpeg (no file)"
-msgstr "ファイルを開けません"
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:190
+msgid "Point 1"
+msgstr "點 1"
 
-#: src/modules/mod_filter/blur.cpp:69
-msgid "Blur"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
+msgid "First corner of the rectangle"
+msgstr "矩型第一個座標"
 
-#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
-#: src/synfig/layer_motionblur.cpp:57
-msgid "Blurs"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:195
+msgid "Point 2"
+msgstr "點 2"
 
-#: src/modules/mod_filter/blur.cpp:414
-msgid "Size of Blur"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
+msgid "Second corner of the rectangle"
+msgstr "矩型第二個座標"
 
-#: src/modules/mod_filter/colorcorrect.cpp:56
-msgid "Color Correct"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:147
+msgid "Feather X"
+msgstr "邊緣模糊 X"
 
-#: src/modules/mod_filter/colorcorrect.cpp:217
-msgid "Hue Adjust"
-msgstr ""
+#: src/modules/mod_example/filledrect.cpp:152
+msgid "Feather Y"
+msgstr "邊緣模糊 Y"
 
-#: src/modules/mod_filter/colorcorrect.cpp:221
-msgid "Brightness"
+#: src/modules/mod_example/filledrect.cpp:158
+msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:225
-msgid "Contrast"
+#: src/modules/mod_example/filledrect.cpp:163
+msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:229
-msgid "Exposure Adjust"
+#: src/modules/mod_example/filledrect.cpp:164
+msgid "When checked the bevel is circular"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
-msgid "Gamma Adjustment"
-msgstr ""
+#: src/modules/mod_example/metaballs.cpp:57
+msgid "Metaballs"
+msgstr "金屬球"
+
+#: src/modules/mod_example/metaballs.cpp:129
+#: src/modules/mod_gradient/conicalgradient.cpp:109
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/radialgradient.cpp:113
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
+#: src/synfig/valuenode_gradientcolor.cpp:158
+#: src/synfig/valuenode_gradientrotate.cpp:164
+#: src/synfig/valuenode_repeat_gradient.cpp:203
+msgid "Gradient"
+msgstr "漸層"
+
+#: src/modules/mod_example/metaballs.cpp:133
+msgid "Balls"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:137
+msgid "Radii"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:141
+msgid "Weights"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:145
+msgid "Gradient Left"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:149
+msgid "Gradient Right"
+msgstr ""
+
+#: src/modules/mod_example/metaballs.cpp:153
+msgid "Positive Only"
+msgstr ""
+
+#: src/modules/mod_example/simplecircle.cpp:57
+msgid "Simple Circle"
+msgstr "簡單圓形"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:207
+msgid ""
+"Error: No FFmpeg binary found.\n"
+"\n"
+"Please install \"ffmpeg\" or \"avconv\" (libav-tools package)."
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:279
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:286
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:296
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:318
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:336
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
+msgid "Blur"
+msgstr "模糊"
+
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
+#: src/synfig/layer_motionblur.cpp:57
+msgid "Blurs"
+msgstr "模糊"
+
+#: src/modules/mod_filter/blur.cpp:416
+msgid "Size of Blur"
+msgstr "模糊大小"
+
+#: src/modules/mod_filter/colorcorrect.cpp:56
+msgid "Color Correct"
+msgstr "顏色正確"
+
+#: src/modules/mod_filter/colorcorrect.cpp:217
+msgid "Hue Adjust"
+msgstr ""
+
+#: src/modules/mod_filter/colorcorrect.cpp:221
+msgid "Brightness"
+msgstr ""
+
+#: src/modules/mod_filter/colorcorrect.cpp:225
+msgid "Contrast"
+msgstr ""
+
+#: src/modules/mod_filter/colorcorrect.cpp:229
+msgid "Exposure Adjust"
+msgstr ""
+
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
+msgid "Gamma Adjustment"
+msgstr ""
 
 #: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
-msgstr ""
+msgstr "半色調 2"
 
 #: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
-msgstr ""
+msgstr "遮罩原點"
 
 #: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
-msgstr ""
+msgstr "遮罩角度"
 
 #: src/modules/mod_filter/halftone2.cpp:163
 #: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
-msgstr ""
+msgstr "遮罩大小"
 
 #: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
-msgstr ""
+msgstr "燈光顏色"
 
 #: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
-msgstr ""
+msgstr "暗部顏色"
 
 #: src/modules/mod_filter/halftone2.cpp:176
 #: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
-msgstr ""
+msgstr "對稱"
 
 #: src/modules/mod_filter/halftone2.cpp:177
 #: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
-msgstr ""
+msgstr "暗部燈光"
 
 #: src/modules/mod_filter/halftone2.cpp:179
 #: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
-msgstr ""
+msgstr "鑽石"
 
 #: src/modules/mod_filter/halftone2.cpp:180
 #: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
-msgstr ""
+msgstr "條紋"
 
 #: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
-msgstr ""
+msgstr "半色調 3"
 
 #: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr ""
+msgstr " 類型"
 
 #: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
-msgstr ""
+msgstr "減法旗標"
 
 #: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr ""
+msgstr " 色彩"
 
 #: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
-msgstr ""
+msgstr " 遮罩原點"
 
 #: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
-msgstr ""
+msgstr " 遮罩角度"
 
 #: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
-msgstr ""
+msgstr "亮度關鍵"
 
 #: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
-msgstr ""
+msgstr "徑向模糊"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
-msgstr ""
+msgstr "模糊大小"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr ""
+msgstr "淡出"
 
-#: src/modules/mod_geometry/checkerboard.cpp:58
-msgid "Checkerboard"
-msgstr ""
+#: src/modules/mod_geometry/advanced_outline.cpp:67
+msgid "Advanced Outline"
+msgstr "進階的外框"
 
+#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
-#: src/modules/mod_geometry/advanced_outline.cpp:68
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
 #: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:147
-msgid "Color of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:151
-msgid "Center of the checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/checkerboard.cpp:155
-msgid "Size of checkers"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:56
-msgid "Circle"
-msgstr "円"
-
-#: src/modules/mod_geometry/circle.cpp:152
-msgid "Radius of the circle"
-msgstr "円の半径"
-
-#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
-msgid "Feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:158
-msgid "Amount of feather of the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:166
-msgid "Invert the circle"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:170
-msgid "Falloff"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:171
-msgid "Determines the falloff function for the feather"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:173
-#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
-msgid "Linear"
-msgstr "リネア"
-
-#: src/modules/mod_geometry/circle.cpp:174
-msgid "Squared"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:175
-msgid "Square Root"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:176
-msgid "Sigmond"
-msgstr ""
-
-#: src/modules/mod_geometry/circle.cpp:177
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
-#: src/modules/mod_noise/valuenode_random.cpp:290
-#: src/synfig/layer_bitmap.cpp:170
-msgid "Cosine"
-msgstr ""
-
-#: src/modules/mod_geometry/advanced_outline.cpp:67
-msgid "Advanced Outline"
-msgstr ""
+msgstr "幾何"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
-msgstr ""
+msgstr "曲線沒有頂點 "
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1136
 #: src/modules/mod_geometry/outline.cpp:826
@@ -1337,22 +1270,22 @@ msgstr ""
 #: src/modules/mod_gradient/curvegradient.cpp:562
 #: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
-msgstr ""
+msgstr "曲線頂點清單"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1140
 #: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
-msgstr ""
+msgstr "外框的寬度"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1141
 #: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
-msgstr ""
+msgstr "全域外框寬度"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1145
 #: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
-msgstr ""
+msgstr "擴大"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1146
 #: src/modules/mod_geometry/outline.cpp:847
@@ -1369,37 +1302,37 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1152
 #: src/modules/mod_geometry/advanced_outline.cpp:1161
-#: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:568
-#: src/synfig/valuenode_composite.cpp:597
-#: src/synfig/valuenode_composite.cpp:606
+#: src/synfig/valuenode_composite.cpp:734
+#: src/synfig/valuenode_composite.cpp:744
+#: src/synfig/valuenode_composite.cpp:776
+#: src/synfig/valuenode_composite.cpp:785
 msgid "Rounded Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1153
 #: src/modules/mod_geometry/advanced_outline.cpp:1162
-#: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:569
-#: src/synfig/valuenode_composite.cpp:598
-#: src/synfig/valuenode_composite.cpp:607
+#: src/synfig/valuenode_composite.cpp:735
+#: src/synfig/valuenode_composite.cpp:745
+#: src/synfig/valuenode_composite.cpp:777
+#: src/synfig/valuenode_composite.cpp:786
 msgid "Squared Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1154
 #: src/modules/mod_geometry/advanced_outline.cpp:1163
-#: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:570
-#: src/synfig/valuenode_composite.cpp:599
-#: src/synfig/valuenode_composite.cpp:608
+#: src/synfig/valuenode_composite.cpp:736
+#: src/synfig/valuenode_composite.cpp:746
+#: src/synfig/valuenode_composite.cpp:778
+#: src/synfig/valuenode_composite.cpp:787
 msgid "Peak Stop"
 msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1155
 #: src/modules/mod_geometry/advanced_outline.cpp:1164
-#: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:571
-#: src/synfig/valuenode_composite.cpp:600
-#: src/synfig/valuenode_composite.cpp:609
+#: src/synfig/valuenode_composite.cpp:737
+#: src/synfig/valuenode_composite.cpp:747
+#: src/synfig/valuenode_composite.cpp:779
+#: src/synfig/valuenode_composite.cpp:788
 msgid "Flat Stop"
 msgstr ""
 
@@ -1430,7 +1363,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr ""
+msgstr "平滑度"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
@@ -1438,11 +1371,11 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1179
 #: src/modules/mod_geometry/outline.cpp:869
-#: src/synfig/valuenode_blinecalctangent.cpp:271
+#: src/synfig/valuenode_blinecalctangent.cpp:273
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
-msgstr ""
+msgstr "同質"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
@@ -1450,7 +1383,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
-msgstr ""
+msgstr "寬度點清單"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
@@ -1484,9 +1417,80 @@ msgstr ""
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
+#: src/modules/mod_geometry/checkerboard.cpp:58
+msgid "Checkerboard"
+msgstr "棋盤"
+
+#: src/modules/mod_geometry/checkerboard.cpp:147
+msgid "Color of checkers"
+msgstr "棋盤顏色"
+
+#: src/modules/mod_geometry/checkerboard.cpp:151
+msgid "Center of the checkers"
+msgstr "棋盤中心點"
+
+#: src/modules/mod_geometry/checkerboard.cpp:155
+msgid "Size of checkers"
+msgstr "棋盤大小"
+
+#: src/modules/mod_geometry/circle.cpp:56
+msgid "Circle"
+msgstr "圓"
+
+#: src/modules/mod_geometry/circle.cpp:152
+msgid "Radius of the circle"
+msgstr "圓的半徑"
+
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1238
+msgid "Feather"
+msgstr "邊緣模糊"
+
+#: src/modules/mod_geometry/circle.cpp:158
+msgid "Amount of feather of the circle"
+msgstr "圓的邊緣模糊總量"
+
+#: src/modules/mod_geometry/circle.cpp:166
+msgid "Invert the circle"
+msgstr "反轉圓形範圍"
+
+#: src/modules/mod_geometry/circle.cpp:170
+msgid "Falloff"
+msgstr "衰減"
+
+#: src/modules/mod_geometry/circle.cpp:171
+msgid "Determines the falloff function for the feather"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:274
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_linear.cpp:154
+msgid "Linear"
+msgstr "線性"
+
+#: src/modules/mod_geometry/circle.cpp:174
+msgid "Squared"
+msgstr "平方"
+
+#: src/modules/mod_geometry/circle.cpp:175
+msgid "Square Root"
+msgstr "平方根"
+
+#: src/modules/mod_geometry/circle.cpp:176
+msgid "Sigmond"
+msgstr ""
+
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/synfig/layer_bitmap.cpp:170
+msgid "Cosine"
+msgstr "餘弦"
+
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
-msgstr ""
+msgstr "外框"
 
 #: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
@@ -1494,11 +1498,11 @@ msgstr ""
 
 #: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
-msgstr ""
+msgstr "尖端形狀"
 
 #: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
-msgstr ""
+msgstr "圓角開始"
 
 #: src/modules/mod_geometry/outline.cpp:857
 #: src/modules/mod_geometry/outline.cpp:862
@@ -1507,7 +1511,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
-msgstr ""
+msgstr "圓角結束"
 
 #: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
@@ -1523,27 +1527,27 @@ msgstr ""
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
-msgstr ""
+msgstr "矩型"
 
 #: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
-msgstr ""
+msgstr "擴大總量"
 
 #: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
-msgstr ""
+msgstr "反轉矩型範圍"
 
 #: src/modules/mod_geometry/region.cpp:64
 msgid "Region"
-msgstr ""
+msgstr "範圍"
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr ""
+msgstr "開始"
 
 #: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
-msgstr ""
+msgstr "外半徑"
 
 #: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
@@ -1551,7 +1555,7 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
-msgstr ""
+msgstr "內半徑"
 
 #: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
@@ -1560,17 +1564,19 @@ msgstr ""
 #: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:130
-#: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
+#: src/synfig/valuenode_anglestring.cpp:169 src/synfig/valuenode_bone.cpp:602
+#: src/synfig/valuenode_composite.cpp:800 src/synfig/valuenode_cos.cpp:155
+#: src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "角度"
 
 #: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:260
 msgid "Points"
-msgstr ""
+msgstr "點"
 
 #: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
@@ -1578,24 +1584,24 @@ msgstr ""
 
 #: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "範圍的多邊形"
 
 #: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:105
+#: src/modules/mod_gif/trgt_gif.cpp:112
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
 msgstr ""
 
-#: src/modules/mod_gif/trgt_gif.cpp:193
+#: src/modules/mod_gif/trgt_gif.cpp:200
 msgid "Description not set!"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:57
 msgid "Conical Gradient"
-msgstr ""
+msgstr "錐型漸層"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
 #: src/modules/mod_gradient/curvegradient.cpp:62
@@ -1604,16 +1610,16 @@ msgstr ""
 #: src/modules/mod_gradient/spiralgradient.cpp:58
 #: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
-msgstr ""
+msgstr "漸層"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
 #: src/modules/mod_gradient/curvegradient.cpp:566
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_gradient/lineargradient.cpp:200
 #: src/modules/mod_gradient/radialgradient.cpp:114
 #: src/modules/mod_gradient/spiralgradient.cpp:114
 #: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
-msgstr ""
+msgstr "套用漸層"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:115
 msgid "Center of the cone"
@@ -1625,14 +1631,14 @@ msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
 #: src/modules/mod_gradient/curvegradient.cpp:570
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/lineargradient.cpp:204
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
-msgstr ""
+msgstr "曲線漸層"
 
 #: src/modules/mod_gradient/curvegradient.cpp:551
 #: src/modules/mod_particle/plant.cpp:432
@@ -1644,45 +1650,46 @@ msgid "Global width of the gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:569
-#: src/modules/mod_gradient/lineargradient.cpp:198
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:130
-#: src/synfig/valuenode_blinecalctangent.cpp:246
+#: src/synfig/valuenode_blinecalctangent.cpp:248
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
+#: src/synfig/valuenode_gradientcolor.cpp:168
 msgid "Loop"
-msgstr ""
+msgstr "封閉"
 
 #: src/modules/mod_gradient/curvegradient.cpp:573
-#: src/modules/mod_gradient/lineargradient.cpp:202
+#: src/modules/mod_gradient/lineargradient.cpp:207
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:574
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/lineargradient.cpp:208
 #: src/modules/mod_gradient/radialgradient.cpp:136
-msgid "When checked the gradient is summetrical at the center"
+msgid "When checked the gradient is symmetrical at the center"
 msgstr ""
 
 #: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
-msgstr ""
+msgstr "垂直"
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr ""
+msgstr "線性漸層"
 
-#: src/modules/mod_gradient/lineargradient.cpp:187
+#: src/modules/mod_gradient/lineargradient.cpp:192
 msgid "Start point of the gradient"
-msgstr ""
+msgstr "漸層開始點"
 
-#: src/modules/mod_gradient/lineargradient.cpp:191
+#: src/modules/mod_gradient/lineargradient.cpp:196
 msgid "End point of the gradient"
-msgstr ""
+msgstr "漸層結束點"
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr ""
+msgstr "徑向漸層"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
 #: src/modules/mod_gradient/spiralgradient.cpp:119
@@ -1691,68 +1698,73 @@ msgstr ""
 
 #: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
-msgstr ""
+msgstr "螺旋漸層"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
-msgstr ""
+msgstr "螺旋的迴轉"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
-msgstr ""
+msgstr "順時針"
 
 #: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:105
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:106
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:238
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 msgid "No file to load"
+msgstr "沒有載入濾鏡"
+
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:119
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:120
+msgid "Cannot create temporary file of "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
-#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:179
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:180
+#: src/synfig/cairolistimporter.cpp:194 src/synfig/cairolistimporter.cpp:195
+#: src/synfig/listimporter.cpp:189 src/synfig/listimporter.cpp:190
 msgid "Unable to open "
-msgstr ""
+msgstr "無法開啟 "
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
-#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:186
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:187
+#: src/synfig/cairolistimporter.cpp:201 src/synfig/cairolistimporter.cpp:202
+#: src/synfig/listimporter.cpp:196 src/synfig/listimporter.cpp:197
 msgid "Unable to get frame from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:193
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:194
 msgid "Bad surface from "
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:250
 msgid "Unable to open pipe to imagemagick"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:262
 msgid "Reached end of stream without finding PPM header"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:270
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:271
 msgid "stream not in PPM format"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:282
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:283
 msgid "Premature end of file (after header)"
 msgstr ""
 
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
-#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:295
+#: src/modules/mod_imagemagick/mptr_imagemagick.cpp:296
 msgid "Premature end of file"
 msgstr ""
 
@@ -1762,11 +1774,11 @@ msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
-msgstr ""
+msgstr "雜訊歪曲"
 
 #: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
-msgstr ""
+msgstr "置換"
 
 #: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
@@ -1785,10 +1797,10 @@ msgid "Change to modify the random seed of the noise"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "內插模式"
 
 #: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
 #: src/synfig/layer_bitmap.cpp:166
@@ -1801,23 +1813,23 @@ msgid "Nearest Neighbor"
 msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
-#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
-#: src/synfig/valuenode_bline.cpp:1006
-#: src/synfig/valuenode_blinecalctangent.cpp:241
+#: src/modules/mod_noise/valuenode_random.cpp:276 src/synfig/valuenode.cpp:160
+#: src/synfig/valuenode_bline.cpp:1010
+#: src/synfig/valuenode_blinecalctangent.cpp:243
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
-msgstr ""
+msgstr "曲線"
 
 #: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
-#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/modules/mod_noise/valuenode_random.cpp:277
 #: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
-msgstr ""
+msgstr "立方體"
 
 #: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
-msgstr ""
+msgstr "詳情"
 
 #: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
@@ -1825,11 +1837,11 @@ msgstr ""
 
 #: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
-msgstr ""
+msgstr "動畫速度"
 
 #: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
-msgstr ""
+msgstr "每秒周期"
 
 #: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
@@ -1840,17 +1852,17 @@ msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:184
+#: src/modules/mod_noise/valuenode_random.cpp:169
 msgid "Random"
-msgstr ""
+msgstr "隨機"
 
 #: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
-msgstr ""
+msgstr "雜訊漸層"
 
 #: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
-msgstr ""
+msgstr "雜訊大小"
 
 #: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
@@ -1868,60 +1880,62 @@ msgstr ""
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
-#: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
-#: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
-#: src/synfig/valuenode_reciprocal.cpp:165
-#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
-#: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
+#: src/modules/mod_noise/valuenode_random.cpp:250
+#: src/synfig/valuenode_boneinfluence.cpp:227
+#: src/synfig/valuenode_derivative.cpp:367 src/synfig/valuenode_greyed.cpp:96
+#: src/synfig/valuenode_integer.cpp:191 src/synfig/valuenode_log.cpp:159
+#: src/synfig/valuenode_not.cpp:141 src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_real.cpp:179 src/synfig/valuenode_reciprocal.cpp:165
+#: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:249
+#: src/synfig/valuenode_step.cpp:192 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "連結"
 
-#: src/modules/mod_noise/valuenode_random.cpp:266
+#: src/modules/mod_noise/valuenode_random.cpp:251
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:271
+#: src/modules/mod_noise/valuenode_random.cpp:256
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:260
 #: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:276
+#: src/modules/mod_noise/valuenode_random.cpp:261
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:265
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:281
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:288
+#: src/modules/mod_noise/valuenode_random.cpp:273
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:282
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:298
+#: src/modules/mod_noise/valuenode_random.cpp:283
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
-msgstr ""
+msgstr "安置"
 
 #: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
@@ -1929,7 +1943,7 @@ msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
-msgstr ""
+msgstr "分離角度"
 
 #: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
@@ -1980,6 +1994,7 @@ msgid ""
 msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:473
+#: src/synfig/valuenode_blinereversetangent.cpp:169
 msgid "Reverse"
 msgstr ""
 
@@ -1987,10 +2002,10 @@ msgstr ""
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
-#: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:181
+#: src/synfig/valuenode_duplicate.cpp:204 src/synfig/valuenode_step.cpp:137
 msgid "Step"
-msgstr ""
+msgstr "步進"
 
 #: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
@@ -2002,7 +2017,7 @@ msgstr ""
 
 #: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
-msgstr ""
+msgstr "分離"
 
 #: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
@@ -2041,66 +2056,173 @@ msgstr ""
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
-#: src/modules/mod_ppm/mptr_ppm.cpp:86
+#: src/modules/mod_png/trgt_cairo_png.cpp:117 src/synfig/target_cairo.cpp:201
+msgid "Cairo Surface bad status"
+msgstr ""
+
+#: src/modules/mod_png/trgt_png_spritesheet.cpp:176
+#, c-format
+msgid ""
+"The image is too large. It's size must be not more than 5000*2000=10000000 "
+"px. Now is %d*%d=%d px."
+msgstr ""
+
+#: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
-msgid "Importer::open(): Cannot open empty filename"
+#: src/modules/mod_svg/layer_svg.cpp:53
+msgid "Import Svg"
+msgstr "匯入 Svg"
+
+#: src/synfig/base_types.cpp:78 src/synfig/base_types.cpp:79
+msgid "bool"
+msgstr "布林"
+
+#: src/synfig/base_types.cpp:99 src/synfig/base_types.cpp:100
+msgid "integer"
+msgstr "整數"
+
+#: src/synfig/base_types.cpp:122
+msgid "angle"
+msgstr "角度"
+
+#: src/synfig/base_types.cpp:166 src/synfig/base_types.cpp:167
+msgid "real"
+msgstr "浮點"
+
+#: src/synfig/base_types.cpp:194 src/synfig/base_types.cpp:195
+msgid "time"
+msgstr "時間"
+
+#: src/synfig/base_types.cpp:220
+msgid "vector"
+msgstr "向量"
+
+#: src/synfig/base_types.cpp:239
+msgid "color"
+msgstr "顏色"
+
+#: src/synfig/base_types.cpp:258
+msgid "segment"
+msgstr "線段"
+
+#: src/synfig/base_types.cpp:278
+msgid "spline_point"
+msgstr "曲線點(_p)"
+
+#: src/synfig/base_types.cpp:297
+msgid "matrix"
+msgstr "矩陣"
+
+#: src/synfig/base_types.cpp:316
+msgid "bone_weight_pair"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
-msgid "Importer::open(): Couldn't find extension"
+#: src/synfig/base_types.cpp:336
+msgid "width_point"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
-msgid "Importer::open(): Unknown file type -- "
+#: src/synfig/base_types.cpp:356
+msgid "dash_item"
+msgstr ""
+
+#: src/synfig/base_types.cpp:375
+msgid "list"
+msgstr "清單"
+
+#: src/synfig/base_types.cpp:434
+msgid "canvas"
+msgstr "畫布"
+
+#: src/synfig/base_types.cpp:465
+msgid "string"
+msgstr "字串"
+
+#: src/synfig/base_types.cpp:486
+msgid "gradient"
+msgstr "漸層"
+
+#: src/synfig/base_types.cpp:505
+msgid "bone_object"
+msgstr "骨架物件(_o)"
+
+#: src/synfig/base_types.cpp:540
+msgid "bone_valuenode"
+msgstr "骨架數值點(_v)"
+
+#: src/synfig/base_types.cpp:563
+msgid "transformation"
+msgstr "變形"
+
+#: src/synfig/cairoimporter.cpp:88
+msgid "CairoImporter::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:102
+msgid "CairoImporter::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/cairoimporter.cpp:113
+msgid "CairoImporter::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
-#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+#: src/synfig/cairolistimporter.cpp:166 src/synfig/cairolistimporter.cpp:167
+#: src/synfig/listimporter.cpp:166 src/synfig/listimporter.cpp:167
 msgid "No images in list"
 msgstr ""
 
-#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
-#: src/synfig/canvas.cpp:927
+#: src/synfig/canvas.cpp:838 src/synfig/canvas.cpp:909
+#: src/synfig/canvas.cpp:934
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:251
+#: src/synfig/distance.cpp:258
 msgid "Units"
-msgstr ""
+msgstr "單位"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:259
 msgid "Pixels"
-msgstr ""
+msgstr "像素"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:261
 msgid "Inches"
-msgstr ""
+msgstr "英吋"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:262
 msgid "Meters"
-msgstr ""
+msgstr "公尺"
 
-#: src/synfig/distance.cpp:256
+#: src/synfig/distance.cpp:263
 msgid "Millimeters"
-msgstr ""
+msgstr "毫米"
 
-#: src/synfig/distance.cpp:257
+#: src/synfig/distance.cpp:264
 msgid "Centimeters"
+msgstr "公分"
+
+#: src/synfig/importer.cpp:88
+msgid "Importer::open(): Cannot open empty filename"
+msgstr ""
+
+#: src/synfig/importer.cpp:102
+msgid "Importer::open(): Couldn't find extension"
+msgstr ""
+
+#: src/synfig/importer.cpp:113
+msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
+#: src/synfig/layer.cpp:736 src/synfig/layer_composite.cpp:132
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:605
+#: src/synfig/layer.cpp:791
 msgid "Z Depth"
-msgstr ""
+msgstr "Z 深度"
 
-#: src/synfig/layer.cpp:607
+#: src/synfig/layer.cpp:793
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
@@ -2120,30 +2242,31 @@ msgstr ""
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:250
+#: src/synfig/layer_composite.cpp:252 src/synfig/layer_skeleton.cpp:137
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
+#: src/synfig/layer_composite.cpp:255 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "混合方式"
 
-#: src/synfig/layer_composite.cpp:254
+#: src/synfig/layer_composite.cpp:256
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
-#: src/synfig/valuenode_duplicate.cpp:174
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:179
+#: src/synfig/valuenode_duplicate.cpp:175
 msgid "Duplicate"
-msgstr ""
+msgstr "重製"
 
 #: src/synfig/layer_duplicate.cpp:151
+#: src/synfig/valuenode_gradientcolor.cpp:163
 msgid "Index"
-msgstr ""
+msgstr "索引"
 
 #: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
-msgstr ""
+msgstr "複製索引"
 
 #: src/synfig/layer_mime.cpp:86
 msgid "[MIME]"
@@ -2151,7 +2274,7 @@ msgstr ""
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr ""
+msgstr "動態模糊"
 
 #: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
@@ -2159,7 +2282,7 @@ msgstr ""
 
 #: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
-msgstr ""
+msgstr "快門時間"
 
 #: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
@@ -2177,9 +2300,9 @@ msgstr ""
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:169
 msgid "Constant"
-msgstr ""
+msgstr "固定"
 
 #: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
@@ -2201,552 +2324,614 @@ msgstr ""
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
-#: src/synfig/layer_pastecanvas.cpp:124
-msgid "Group"
+#: src/synfig/layer_pastecanvas.cpp:128
+msgid "Position offset"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:140
-msgid "Canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:132
+msgid "Transformation"
+msgstr "變形"
 
-#: src/synfig/layer_pastecanvas.cpp:141
-msgid "Group content"
+#: src/synfig/layer_pastecanvas.cpp:133
+msgid "Position, rotation, skew and scale"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:144
-msgid "Zoom"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:137
+msgid "Canvas"
+msgstr "畫布"
 
-#: src/synfig/layer_pastecanvas.cpp:145
-msgid "Size of canvas"
-msgstr ""
+#: src/synfig/layer_pastecanvas.cpp:138
+msgid "Group content"
+msgstr "群組內容"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:143
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
-msgid "Children Lock"
+#: src/synfig/layer_pastecanvas.cpp:147
+msgid "Lock Selection"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:157
+#: src/synfig/layer_pastecanvas.cpp:148
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:162
-msgid "Focus Point"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:165
-msgid "Point to remain fixed when zooming"
-msgstr ""
-
-#: src/synfig/layer_pastecanvas.cpp:170
+#: src/synfig/layer_pastecanvas.cpp:153
 msgid "Outline Grow"
-msgstr ""
+msgstr "外光暈"
 
-#: src/synfig/layer_pastecanvas.cpp:171
+#: src/synfig/layer_pastecanvas.cpp:154
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:186
+#: src/synfig/layer_pastecanvas.cpp:168
 msgid "Current Time"
-msgstr ""
+msgstr "目前時間"
 
 #: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
-msgstr ""
+msgstr "多邊形"
 
-#: src/synfig/layer_polygon.cpp:194
+#: src/synfig/layer_polygon.cpp:187
 msgid "Vertices List"
-msgstr ""
+msgstr "頂點清單"
 
-#: src/synfig/layer_polygon.cpp:195
+#: src/synfig/layer_polygon.cpp:188
 msgid "Define the corners of the polygon"
 msgstr ""
 
 #: src/synfig/layer_shape.cpp:66
 msgid "Shape"
-msgstr ""
+msgstr "造型"
 
 #: src/synfig/layer_shape.cpp:67
 msgid "Internal"
-msgstr ""
+msgstr "內部"
 
-#: src/synfig/layer_shape.cpp:1222
+#: src/synfig/layer_shape.cpp:1226
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1231
+#: src/synfig/layer_shape.cpp:1235
 msgid "Antialiasing"
-msgstr ""
+msgstr "反鋸齒"
 
-#: src/synfig/layer_shape.cpp:1238
+#: src/synfig/layer_shape.cpp:1242
 msgid "Type of Feather"
-msgstr ""
+msgstr "邊緣模糊類型"
 
-#: src/synfig/layer_shape.cpp:1239
+#: src/synfig/layer_shape.cpp:1243
 msgid "Type of feathering to use"
-msgstr ""
+msgstr "使用的邊緣模糊類型"
 
-#: src/synfig/layer_shape.cpp:1248
+#: src/synfig/layer_shape.cpp:1252
 msgid "Winding Style"
-msgstr ""
+msgstr "區折樣式"
 
-#: src/synfig/layer_shape.cpp:1249
+#: src/synfig/layer_shape.cpp:1253
 msgid "Winding style to use"
-msgstr ""
+msgstr "使用的區折樣式"
 
-#: src/synfig/layer_shape.cpp:1251
+#: src/synfig/layer_shape.cpp:1255
 msgid "Non Zero"
-msgstr ""
+msgstr "非零"
 
-#: src/synfig/layer_shape.cpp:1252
+#: src/synfig/layer_shape.cpp:1256
 msgid "Even/Odd"
-msgstr ""
+msgstr "奇/偶"
+
+#: src/synfig/layer_skeleton.cpp:54
+msgid "Skeleton"
+msgstr "骨架"
+
+#: src/synfig/layer_skeleton.cpp:142 src/synfig/valuenode_bone.cpp:587
+msgid "Name"
+msgstr "名稱"
+
+#: src/synfig/layer_skeleton.cpp:145
+msgid "Bones"
+msgstr "骨架"
 
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
+msgstr "實體顏色"
+
+#: src/synfig/layer_sound.cpp:51
+msgid "Sound"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:102
+#, fuzzy
+msgid "Path to sound file"
+msgstr "無法開啟檔案"
+
+#: src/synfig/layer_sound.cpp:108
+msgid "Delay"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:109
+msgid "Delay before play"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:114
+msgid "Volume"
+msgstr ""
+
+#: src/synfig/layer_sound.cpp:115
+msgid "Volume of sound"
+msgstr ""
+
+#: src/synfig/layer_switch.cpp:58 src/synfig/layer_switch.cpp:82
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode_switch.cpp:163
+msgid "Switch"
+msgstr "交換器"
+
+#: src/synfig/layer_switch.cpp:91
+msgid "Active Layer Name"
+msgstr "激活圖層名稱"
+
+#: src/synfig/layer_switch.cpp:92
+msgid "Only layer with specified name are visible"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:143
+#: src/synfig/loadcanvas.cpp:148
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:186
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:192
+#: src/synfig/loadcanvas.cpp:198
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:206
+#: src/synfig/loadcanvas.cpp:212
 msgid "Too many warnings"
-msgstr ""
+msgstr "太多警告"
 
-#: src/synfig/loadcanvas.cpp:237
+#: src/synfig/loadcanvas.cpp:243
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
-#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
+#: src/synfig/loadcanvas.cpp:273 src/synfig/loadcanvas.cpp:292
+#: src/synfig/loadcanvas.cpp:311 src/synfig/loadcanvas.cpp:330
+#: src/synfig/loadcanvas.cpp:500 src/synfig/loadcanvas.cpp:1279
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
-#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
+#: src/synfig/loadcanvas.cpp:277 src/synfig/loadcanvas.cpp:296
+#: src/synfig/loadcanvas.cpp:315 src/synfig/loadcanvas.cpp:334
+#: src/synfig/loadcanvas.cpp:504 src/synfig/loadcanvas.cpp:1283
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
-#: src/synfig/loadcanvas.cpp:1200
+#: src/synfig/loadcanvas.cpp:515 src/synfig/loadcanvas.cpp:1468
+#: src/synfig/loadcanvas.cpp:1486
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:533
+#: src/synfig/loadcanvas.cpp:539
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1353
+#: src/synfig/loadcanvas.cpp:1679
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1375
+#: src/synfig/loadcanvas.cpp:1701
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1388
+#: src/synfig/loadcanvas.cpp:1714
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1404
+#: src/synfig/loadcanvas.cpp:1730
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
+#: src/synfig/loadcanvas.cpp:1736 src/synfig/loadcanvas.cpp:1748
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1439
+#: src/synfig/loadcanvas.cpp:1765
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1455
+#: src/synfig/loadcanvas.cpp:1781
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1556
+#: src/synfig/loadcanvas.cpp:1882
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1565
+#: src/synfig/loadcanvas.cpp:1891
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1577
+#: src/synfig/loadcanvas.cpp:1903
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1587
+#: src/synfig/loadcanvas.cpp:1913
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
+#: src/synfig/loadcanvas.cpp:1945 src/synfig/loadcanvas.cpp:2032
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1625
+#: src/synfig/loadcanvas.cpp:1958
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1634
+#: src/synfig/loadcanvas.cpp:1976
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1658
+#: src/synfig/loadcanvas.cpp:2000
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1698
+#: src/synfig/loadcanvas.cpp:2047
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1707
+#: src/synfig/loadcanvas.cpp:2056
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1714
+#: src/synfig/loadcanvas.cpp:2072
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1732
+#: src/synfig/loadcanvas.cpp:2090
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1811
+#: src/synfig/loadcanvas.cpp:2191
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1861
+#: src/synfig/loadcanvas.cpp:2241
 msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
+#: src/synfig/loadcanvas.cpp:2283 src/synfig/loadcanvas.cpp:2546
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1998
+#: src/synfig/loadcanvas.cpp:2394
 msgid "Unable to create <dynamic_list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2616
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2283
+#: src/synfig/loadcanvas.cpp:2682
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2304
+#: src/synfig/loadcanvas.cpp:2703
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2310
+#: src/synfig/loadcanvas.cpp:2709
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2316
+#: src/synfig/loadcanvas.cpp:2715
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2373
+#: src/synfig/loadcanvas.cpp:2772
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2392
+#: src/synfig/loadcanvas.cpp:2792
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2415
+#: src/synfig/loadcanvas.cpp:2841
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2418
+#: src/synfig/loadcanvas.cpp:2844
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2426
+#: src/synfig/loadcanvas.cpp:2852
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2443
+#: src/synfig/loadcanvas.cpp:2869
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2448
+#: src/synfig/loadcanvas.cpp:2874
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2454
+#: src/synfig/loadcanvas.cpp:2880
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2456
+#: src/synfig/loadcanvas.cpp:2882
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2480
+#: src/synfig/loadcanvas.cpp:2935
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2496
+#: src/synfig/loadcanvas.cpp:2951
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
+#: src/synfig/loadcanvas.cpp:2966 src/synfig/loadcanvas.cpp:2976
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:3021
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2539
+#: src/synfig/loadcanvas.cpp:3032
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
+#: src/synfig/loadcanvas.cpp:3149 src/synfig/loadcanvas.cpp:3157
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2710
+#: src/synfig/loadcanvas.cpp:3244
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2717
+#: src/synfig/loadcanvas.cpp:3251
 msgid "Inline canvas cannot have a <bones> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2725
+#: src/synfig/loadcanvas.cpp:3259
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2737
+#: src/synfig/loadcanvas.cpp:3271
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2745
+#: src/synfig/loadcanvas.cpp:3277
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2751
+#: src/synfig/loadcanvas.cpp:3283
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2763
+#: src/synfig/loadcanvas.cpp:3323
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2778
+#: src/synfig/loadcanvas.cpp:3338
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2793
+#: src/synfig/loadcanvas.cpp:3353
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2828
+#: src/synfig/loadcanvas.cpp:3388
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
+#: src/synfig/loadcanvas.cpp:3390 src/synfig/valuenode.cpp:386
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2830
+#: src/synfig/loadcanvas.cpp:3390
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
+#: src/synfig/loadcanvas.cpp:3470
+msgid "Can't find linked file"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:3481 src/synfig/loadcanvas.cpp:3537
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:118
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:123
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:128
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:133
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:138
+#: src/synfig/main.cpp:143
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:207
+#: src/synfig/main.cpp:215
+msgid "Starting Subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:217
+msgid "Unable to initialize subsystem \"Sound\""
+msgstr ""
+
+#: src/synfig/main.cpp:219
+msgid "Starting Subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:221
+msgid "Unable to initialize subsystem \"Types\""
+msgstr ""
+
+#: src/synfig/main.cpp:223
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
-msgid "Unable to initialize subsystem \"Module\""
+#: src/synfig/main.cpp:227
+msgid "Unable to initialize subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:211
+#: src/synfig/main.cpp:230
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:215
+#: src/synfig/main.cpp:235
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:218
+#: src/synfig/main.cpp:238
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:223
+#: src/synfig/main.cpp:244
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:226
+#: src/synfig/main.cpp:247
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:232
+#: src/synfig/main.cpp:254
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:235
+#: src/synfig/main.cpp:257
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:242
+#: src/synfig/main.cpp:265
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:245
+#: src/synfig/main.cpp:268
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:253
+#: src/synfig/main.cpp:277
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
+#: src/synfig/main.cpp:314 src/synfig/main.cpp:315
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:302
+#: src/synfig/main.cpp:327
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:341
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:409 src/tool/progress.h:48
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:424 src/tool/progress.h:55
 msgid "warning"
-msgstr ""
+msgstr "警告"
 
-#: src/synfig/main.cpp:413
+#: src/synfig/main.cpp:439
 msgid "info"
-msgstr ""
+msgstr "資訊"
 
-#: src/synfig/module.cpp:64
+#: src/synfig/module.cpp:65
 msgid "Errors on lt_dlinit()"
 msgstr ""
 
-#: src/synfig/module.cpp:101
+#: src/synfig/module.cpp:102
 #, c-format
 msgid "Unable to load module '%s'"
 msgstr ""
 
-#: src/synfig/module.cpp:126
+#: src/synfig/module.cpp:127
 #, c-format
 msgid "Attempting to register \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:133
+#: src/synfig/module.cpp:135
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:137
+#: src/synfig/module.cpp:139
 #, c-format
 msgid "Found module \"%s\""
 msgstr ""
 
-#: src/synfig/module.cpp:171
+#: src/synfig/module.cpp:173
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
 msgstr ""
 
-#: src/synfig/module.cpp:184
+#: src/synfig/module.cpp:186
 msgid "Entrypoint did not return a module."
 msgstr ""
 
-#: src/synfig/module.cpp:188
+#: src/synfig/module.cpp:190
 #, c-format
 msgid "Success for \"%s\""
 msgstr ""
@@ -2784,113 +2969,113 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
-#: src/synfig/valuenode_composite.cpp:447
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:151
+#: src/synfig/valuenode_composite.cpp:600
 msgid "Composite"
-msgstr ""
+msgstr "合成"
 
 #: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr ""
+msgstr "直接"
 
 #: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr ""
+msgstr "在上方"
 
 #: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr ""
+msgstr "直接在上方"
 
 #: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr ""
+msgstr "正片疊底"
 
 #: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr ""
+msgstr "螢幕"
 
 #: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr ""
+msgstr "覆蓋"
 
 #: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr ""
+msgstr "高亮"
 
 #: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr ""
+msgstr "相乘"
 
 #: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr ""
+msgstr "相除"
 
-#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
-#: src/synfig/valuenode_add.cpp:190
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:168
+#: src/synfig/valuenode_add.cpp:199
 msgid "Add"
-msgstr ""
+msgstr "增加"
 
-#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
-#: src/synfig/valuenode_subtract.cpp:194
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:158
+#: src/synfig/valuenode_subtract.cpp:203
 msgid "Subtract"
-msgstr ""
+msgstr "減去"
 
 #: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr ""
+msgstr "差異化"
 
 #: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr ""
+msgstr "變亮"
 
 #: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr ""
+msgstr "變暗"
 
-#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:261
 msgid "Hue"
-msgstr ""
+msgstr "色調"
 
-#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
-#: src/synfig/valuenode_radialcomposite.cpp:266
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:258
+#: src/synfig/valuenode_radialcomposite.cpp:264
 msgid "Saturation"
-msgstr ""
+msgstr "飽和度"
 
 #: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr ""
+msgstr "亮度"
 
 #: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
-msgstr ""
+msgstr "透明度覆蓋"
 
 #: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr ""
+msgstr "透明度變亮"
 
 #: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr ""
+msgstr "透明度變暗"
 
 #: src/synfig/render.cpp:248 src/synfig/render.cpp:249
 #: src/synfig/render.cpp:303 src/synfig/render.cpp:304
-#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
-#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
+#: src/synfig/render.cpp:574 src/synfig/render.cpp:575
+#: src/synfig/render.cpp:601 src/synfig/render.cpp:602
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:360
+#: src/synfig/savecanvas.cpp:439
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:675 src/synfig/savecanvas.cpp:700
+#: src/synfig/savecanvas.cpp:753 src/synfig/savecanvas.cpp:778
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
-#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:311
+#: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:411
 msgid "Target initialization failure"
 msgstr ""
 
@@ -2908,32 +3093,28 @@ msgid "Not supported render method"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
-#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:428
+#: src/synfig/target_scanline.cpp:448 src/synfig/target_tile.cpp:528
 msgid "Caught string :"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
-#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:433
+#: src/synfig/target_scanline.cpp:453 src/synfig/target_tile.cpp:533
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
 #: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
-#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:438
+#: src/synfig/target_scanline.cpp:458 src/synfig/target_tile.cpp:538
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:201
-msgid "Cairo Surface bad status"
-msgstr ""
-
-#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
+#: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:184
 msgid "Bad Tile Size"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
 #: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:265
 #: src/synfig/target_scanline.cpp:364 src/synfig/target_scanline.cpp:426
-#: src/synfig/target_tile.cpp:240
+#: src/synfig/target_tile.cpp:326
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
@@ -2942,8 +3123,8 @@ msgstr ""
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:194
-#: src/synfig/target_tile.cpp:275
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:266
+#: src/synfig/target_tile.cpp:375
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
@@ -2951,380 +3132,302 @@ msgstr ""
 msgid "Can't start frame"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:162
+#: src/synfig/target_tile.cpp:234
 msgid "Parametric Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:248
+#: src/synfig/target_tile.cpp:241 src/synfig/target_tile.cpp:332
 msgid "Bad surface"
 msgstr ""
 
-#: src/synfig/time.cpp:119
+#: src/synfig/time.cpp:111
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
 msgstr ""
 
-#: src/synfig/time.cpp:124
+#: src/synfig/time.cpp:116
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
-msgid "bool"
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_radialcomposite.cpp:232
+msgid "Radial Composite"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
-msgid "integer"
-msgstr ""
+#: src/synfig/valuenode.cpp:153
+#: src/synfig/valuenode_blinereversetangent.cpp:164
+#: src/synfig/valuenode_reference.cpp:123
+msgid "Reference"
+msgstr "參考手冊"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
-msgid "angle"
-msgstr ""
+#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_segcalctangent.cpp:106
+msgid "Segment Tangent"
+msgstr "線段切線"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
-msgid "time"
-msgstr ""
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_segcalcvertex.cpp:104
+msgid "Segment Vertex"
+msgstr "線段頂點"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
-msgid "real"
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_stripes.cpp:171
+msgid "Stripes"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
-msgid "vector"
+#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_twotone.cpp:135
+msgid "Two-Tone"
 msgstr ""
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
-msgid "color"
-msgstr ""
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_dynamiclist.cpp:770
+msgid "Dynamic List"
+msgstr "動態清單"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
-msgid "segment"
-msgstr ""
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_gradientrotate.cpp:146
+msgid "Gradient Rotate"
+msgstr "漸層旋轉"
 
-#: src/synfig/value.cpp:378
-msgid "bline_point"
-msgstr ""
+#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_sine.cpp:110
+msgid "Sine"
+msgstr "正弦"
 
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
-msgid "matrix"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
-msgid "bone_weight_pair"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
-msgid "width_point"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
-msgid "dash_item"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
-msgid "list"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
-msgid "canvas"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
-msgid "string"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
-msgid "gradient"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
-msgid "bone_object"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
-msgid "bone_valuenode"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
-msgid "nil"
-msgstr ""
-
-#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:422
-msgid "spline_point"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
-msgid "Radial Composite"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
-msgid "Reference"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
-msgid "Segment Tangent"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
-msgid "Segment Vertex"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_stripes.cpp:171
-msgid "Stripes"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
-msgid "Two-Tone"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
-msgid "Dynamic List"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_gradientrotate.cpp:146
-msgid "Gradient Rotate"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
-msgid "Sine"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_timedswap.cpp:233
 msgid "Timed Swap"
-msgstr ""
+msgstr "定時交換"
 
-#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
-msgstr ""
+msgstr "重複漸層"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
-msgstr ""
+msgstr "指數"
 
-#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_blinecalctangent.cpp:186
 msgid "Spline Tangent"
-msgstr ""
+msgstr "曲線切線"
 
-#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:170 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
-msgstr ""
+msgstr "曲線頂點"
 
-#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_range.cpp:258
 msgid "Range"
-msgstr ""
-
-#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
-#: src/synfig/valuenode_switch.cpp:163
-msgid "Switch"
-msgstr ""
+msgstr "範圍"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
-msgstr ""
+msgstr "餘弦"
 
-#: src/synfig/valuenode.cpp:170
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_atan2.cpp:107
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171
+#: src/synfig/valuenode.cpp:176
+#: src/synfig/valuenode_blinereversetangent.cpp:119
 msgid "Reverse Tangent"
-msgstr ""
+msgstr "反轉切線"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:178 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
-msgstr ""
+msgstr "倒數"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_integer.cpp:169
 msgid "Integer"
-msgstr ""
+msgstr "整數"
 
-#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
-msgstr ""
+msgstr "曲線寬度"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:184 src/synfig/valuenode_vectorangle.cpp:124
 msgid "Vector Angle"
-msgstr ""
+msgstr "向量角度"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_vectorlength.cpp:123
 msgid "Vector Length"
-msgstr ""
+msgstr "向量長度"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_vectorx.cpp:123
 msgid "Vector X"
-msgstr ""
+msgstr "向量 X"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_vectory.cpp:123
 msgid "Vector Y"
-msgstr ""
+msgstr "向量 Y"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_gradientcolor.cpp:140
 msgid "Gradient Color"
-msgstr ""
+msgstr "漸層顏色"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_dotproduct.cpp:120
 msgid "Dot Product"
-msgstr ""
+msgstr "點乘積"
 
-#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:190 src/synfig/valuenode_timestring.cpp:112
 msgid "Time String"
-msgstr ""
+msgstr "時間字串"
 
-#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
-#: src/synfig/valuenode_realstring.cpp:175
+#: src/synfig/valuenode.cpp:191 src/synfig/valuenode_real.cpp:158
+#: src/synfig/valuenode_realstring.cpp:170
 msgid "Real"
-msgstr ""
+msgstr "浮點"
 
-#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:192 src/synfig/valuenode_realstring.cpp:120
 msgid "Real String"
-msgstr ""
+msgstr "浮點字串"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_join.cpp:137
 msgid "Joined List"
-msgstr ""
+msgstr "Joined 清單"
 
-#: src/synfig/valuenode.cpp:189
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_anglestring.cpp:122
 msgid "Angle String"
-msgstr ""
+msgstr "角度字串"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195 src/synfig/valuenode_intstring.cpp:117
 msgid "Int String"
-msgstr ""
+msgstr "整數字串"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196 src/synfig/valuenode_log.cpp:141
 msgid "Logarithm"
-msgstr ""
+msgstr "對數"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197 src/synfig/valuenode_greyed.cpp:84
 msgid "Greyed"
-msgstr ""
+msgstr "灰階"
 
-#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:198 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:199 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
-msgstr ""
+msgstr "比較"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:200
 msgid "Not"
-msgstr ""
+msgstr "不是"
 
-#: src/synfig/valuenode.cpp:196
+#: src/synfig/valuenode.cpp:201
 msgid "And"
-msgstr ""
+msgstr "和"
 
-#: src/synfig/valuenode.cpp:197
+#: src/synfig/valuenode.cpp:202
 msgid "Or"
-msgstr ""
+msgstr "或"
 
-#: src/synfig/valuenode.cpp:199
+#: src/synfig/valuenode.cpp:204 src/synfig/valuenode_boneinfluence.cpp:178
 msgid "Bone Influence"
-msgstr ""
+msgstr "骨架影響"
 
-#: src/synfig/valuenode.cpp:200
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_bone.cpp:505
+#: src/synfig/valuenode_bonelink.cpp:208
+#: src/synfig/valuenode_boneweightpair.cpp:162
 msgid "Bone"
-msgstr ""
+msgstr "骨架"
 
-#: src/synfig/valuenode.cpp:201
+#: src/synfig/valuenode.cpp:206
 msgid "Root Bone"
-msgstr ""
+msgstr "跟骨架"
 
-#: src/synfig/valuenode.cpp:202
+#: src/synfig/valuenode.cpp:207 src/synfig/valuenode_staticlist.cpp:443
 msgid "Static List"
-msgstr ""
+msgstr "靜態清單"
 
-#: src/synfig/valuenode.cpp:203
+#: src/synfig/valuenode.cpp:208 src/synfig/valuenode_boneweightpair.cpp:119
 msgid "Bone Weight Pair"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:209 src/synfig/valuenode_bonelink.cpp:190
+msgid "Bone Link"
+msgstr "骨架連結"
+
+#: src/synfig/valuenode.cpp:211 src/synfig/valuenode_wplist.cpp:357
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:206
+#: src/synfig/valuenode.cpp:212 src/synfig/valuenode_dilist.cpp:178
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:241
+#: src/synfig/valuenode.cpp:214 src/synfig/valuenode_average.cpp:97
+msgid "Average"
+msgstr "平均"
+
+#: src/synfig/valuenode.cpp:215
+msgid "Weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:217 src/synfig/valuenode_dynamic.cpp:171
+msgid "Dynamic"
+msgstr "動態"
+
+#: src/synfig/valuenode.cpp:218 src/synfig/valuenode_derivative.cpp:315
+msgid "Derivative"
+msgstr "衍生"
+
+#: src/synfig/valuenode.cpp:253
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:540
+#: src/synfig/valuenode.cpp:552
 msgid "Placeholder"
-msgstr ""
+msgstr "佔位符號"
 
 #: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
-#: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
-#: src/synfig/valuenode_range.cpp:89 src/synfig/valuenode_real.cpp:79
-#: src/synfig/valuenode_real.cpp:140
+#: src/synfig/valuenode_add.cpp:113 src/synfig/valuenode_average.cpp:59
+#: src/synfig/valuenode_average.cpp:73
+#: src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode_integer.cpp:81 src/synfig/valuenode_integer.cpp:143
+#: src/synfig/valuenode_range.cpp:95 src/synfig/valuenode_real.cpp:78
+#: src/synfig/valuenode_real.cpp:138
 #: src/synfig/valuenode_repeat_gradient.cpp:84
-#: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
-#: src/synfig/valuenode_subtract.cpp:101
+#: src/synfig/valuenode_scale.cpp:88 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode_subtract.cpp:113
+#: src/synfig/valuenode_weightedaverage.cpp:60
+#: src/synfig/valuenode_weightedaverage.cpp:70
 msgid ":Bad type "
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
-#: src/synfig/valuenode_subtract.cpp:133
+#: src/synfig/valuenode_add.cpp:141 src/synfig/valuenode_scale.cpp:120
+#: src/synfig/valuenode_subtract.cpp:145
 msgid "One or both of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
-#: src/synfig/valuenode_subtract.cpp:218
+#: src/synfig/valuenode_add.cpp:220 src/synfig/valuenode_compare.cpp:167
+#: src/synfig/valuenode_dotproduct.cpp:167
+#: src/synfig/valuenode_subtract.cpp:227
 msgid "LHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:212
+#: src/synfig/valuenode_add.cpp:221
 msgid "Left Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
-#: src/synfig/valuenode_subtract.cpp:223
+#: src/synfig/valuenode_add.cpp:225 src/synfig/valuenode_compare.cpp:172
+#: src/synfig/valuenode_dotproduct.cpp:172
+#: src/synfig/valuenode_subtract.cpp:232
 msgid "RHS"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:217
+#: src/synfig/valuenode_add.cpp:226
 msgid "Right Hand Side of the add"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
-#: src/synfig/valuenode_subtract.cpp:228
+#: src/synfig/valuenode_add.cpp:230 src/synfig/valuenode_scale.cpp:254
+#: src/synfig/valuenode_subtract.cpp:237
 msgid "Scalar"
 msgstr ""
 
-#: src/synfig/valuenode_add.cpp:222
+#: src/synfig/valuenode_add.cpp:231
 msgid "Value that multiplies the add"
 msgstr ""
 
@@ -3348,74 +3451,127 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
+#: src/synfig/valuenode_anglestring.cpp:170
+#: src/synfig/valuenode_intstring.cpp:166
+#: src/synfig/valuenode_realstring.cpp:171
+msgid "Value to convert to string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:175
+#: src/synfig/valuenode_intstring.cpp:171
+#: src/synfig/valuenode_realstring.cpp:176
+msgid "Width of the string"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:179
+#: src/synfig/valuenode_realstring.cpp:180
+msgid "Precision"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:180
+#: src/synfig/valuenode_realstring.cpp:181
+msgid "Number of decimal places"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:184
+#: src/synfig/valuenode_intstring.cpp:175
+#: src/synfig/valuenode_realstring.cpp:185
+msgid "Zero Padded"
+msgstr ""
+
+#: src/synfig/valuenode_anglestring.cpp:185
+#: src/synfig/valuenode_intstring.cpp:176
+#: src/synfig/valuenode_realstring.cpp:186
+msgid "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+
 #: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
 #: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
 #: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1173
+#: src/synfig/valuenode_animated.cpp:1170
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1208
+#: src/synfig/valuenode_animated.cpp:1203
 msgid "Animated"
+msgstr "熱烈"
+
+#: src/synfig/valuenode_atan2.cpp:148
+msgid "X"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
-#: src/synfig/valuenode_wplist.cpp:336
+#: src/synfig/valuenode_atan2.cpp:149
+msgid "Cosine of the angle"
+msgstr "角度的餘弦"
+
+#: src/synfig/valuenode_atan2.cpp:153
+msgid "Y"
+msgstr ""
+
+#: src/synfig/valuenode_atan2.cpp:154
+msgid "Sine of the angle"
+msgstr "角度的正弦"
+
+#: src/synfig/valuenode_bline.cpp:986 src/synfig/valuenode_dilist.cpp:154
+#: src/synfig/valuenode_dynamiclist.cpp:675
+#: src/synfig/valuenode_staticlist.cpp:354 src/synfig/valuenode_wplist.cpp:333
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
-#: src/synfig/valuenode_wplist.cpp:339
+#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_dilist.cpp:157
+#: src/synfig/valuenode_dynamiclist.cpp:678
+#: src/synfig/valuenode_staticlist.cpp:357 src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
+#: src/synfig/valuenode_bline.cpp:998 src/synfig/valuenode_bline.cpp:1115
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:242
+#: src/synfig/valuenode_blinecalctangent.cpp:244
 msgid "The Spline where the tangent is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:247
+#: src/synfig/valuenode_blinecalctangent.cpp:249
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:252
+#: src/synfig/valuenode_blinecalctangent.cpp:254
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_blinecalctangent.cpp:258
+#: src/synfig/valuenode_composite.cpp:763
+#: src/synfig/valuenode_composite.cpp:796
 #: src/synfig/valuenode_gradientrotate.cpp:169
-#: src/synfig/valuenode_linear.cpp:213
+#: src/synfig/valuenode_linear.cpp:221
 msgid "Offset"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:257
+#: src/synfig/valuenode_blinecalctangent.cpp:259
 msgid "Angle offset of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:262
+#: src/synfig/valuenode_blinecalctangent.cpp:264
 msgid "Scale of the tangent"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:266
+#: src/synfig/valuenode_blinecalctangent.cpp:268
 msgid "Fixed Length"
-msgstr ""
+msgstr "固定長度"
 
-#: src/synfig/valuenode_blinecalctangent.cpp:267
+#: src/synfig/valuenode_blinecalctangent.cpp:269
 msgid "When checked, the tangent's length is fixed"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalctangent.cpp:272
+#: src/synfig/valuenode_blinecalctangent.cpp:274
 msgid "When checked, the tangent is Spline length based"
 msgstr ""
 
@@ -3435,275 +3591,652 @@ msgstr ""
 msgid "The spline where the width is linked to"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:217
-msgid "The position of the linked width on the spline (0,1]"
+#: src/synfig/valuenode_blinecalcwidth.cpp:217
+msgid "The position of the linked width on the spline (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:222
+msgid "Scale of the width"
+msgstr ""
+
+#: src/synfig/valuenode_blinecalcwidth.cpp:227
+msgid "When checked, the width is spline length based"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:165
+msgid "The referenced tangent to reverse"
+msgstr ""
+
+#: src/synfig/valuenode_blinereversetangent.cpp:170
+msgid "When checked, the reference is reversed"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:249
+#, c-format
+msgid "Bone %d"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:588
+msgid "The name of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:592
+msgid "Parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:593
+msgid "The parent bone of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:598
+msgid "The rotating origin of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:603
+msgid "The rotating angle of the bone relative to its parent"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:607
+msgid "Local Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:608
+msgid "The scale of the bone aligned its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:612
+msgid "Bone Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:613
+msgid "Bone width at its origin"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:617
+msgid "Recursive Length Scale"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:618
+msgid "The scale of the bone and its children aligned to its length"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:622
+msgid "Tip Width"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:623
+msgid "Bone width at its tip"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:627
+msgid "Z-Depth"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:628
+msgid "The z-depth of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:632
+msgid "Length Setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:633
+msgid "The length of the bone at setup"
+msgstr ""
+
+#: src/synfig/valuenode_bone.cpp:1043
+msgid "Root"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:222
+msgid "Bone Weight List"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:223
+msgid "List of bones used to calculate the influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneinfluence.cpp:228
+msgid "The value node being bone influenced"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:209
+msgid "The linked bone"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:213 src/synfig/valuenode_bonelink.cpp:214
+msgid "Base value"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:219
+msgid "Make translation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:224
+msgid "Make rotation"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:228
+msgid "Skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:229
+msgid "Make skew"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:233
+msgid "Scale X"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:234
+msgid "Make scaling by X-axis"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:238
+msgid "Scale Y"
+msgstr ""
+
+#: src/synfig/valuenode_bonelink.cpp:239
+msgid "Make scaling by Y-axis"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:163
+msgid "Bone used to make influence"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:167
+msgid "weight"
+msgstr ""
+
+#: src/synfig/valuenode_boneweightpair.cpp:168
+msgid "The relative value of influence of the bone"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:168
+msgid "The left side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:173
+msgid "The right side of the comparison"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:177
+msgid "Greater"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:178
+msgid "When checked, returns true if LHS > RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:182
+msgid "Equal"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:183
+msgid "When checked, returns true if LHS = RHS"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:187
+msgid "Less"
+msgstr ""
+
+#: src/synfig/valuenode_compare.cpp:188
+msgid "When checked, returns true if LHS < RHS"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:296
+msgid "Bad type for composite"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:629
+msgid "Red"
+msgstr "紅"
+
+#: src/synfig/valuenode_composite.cpp:630
+msgid "The red component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:633
+msgid "Green"
+msgstr "綠"
+
+#: src/synfig/valuenode_composite.cpp:634
+msgid "The green component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:637
+msgid "Blue"
+msgstr "藍"
+
+#: src/synfig/valuenode_composite.cpp:638
+msgid "The blue component of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:641
+msgid "Alpha"
+msgstr "透明度"
+
+#: src/synfig/valuenode_composite.cpp:642
+msgid "The alpha of the color"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:650
+msgid "Vertex 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:651
+msgid "The first vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:654
+#: src/synfig/valuenode_composite.cpp:701
+msgid "Tangent 1"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:655
+msgid "The first tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:658
+msgid "Vertex 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:659
+msgid "The second vertex of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:662
+#: src/synfig/valuenode_composite.cpp:705
+msgid "Tangent 2"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:663
+msgid "The second tangent of the segment"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:671
+msgid "X-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:672
+msgid "The X-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:675
+msgid "Y-Axis"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:676
+msgid "The Y-Axis component of the vector"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:684
+msgid "Vertex"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:685
+msgid "The vertex of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:689
+msgid "The width of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:693
+msgid "Defines the Off and On position relative to neighbours"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:696
+msgid "Split"
+msgstr "分離"
+
+#: src/synfig/valuenode_composite.cpp:697
+msgid "When checked, tangents are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:702
+msgid "The first tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:706
+msgid "The second tangent of the Spline Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:709
+msgid "Radius Split"
+msgstr "半徑分離"
+
+#: src/synfig/valuenode_composite.cpp:710
+msgid "When checked, tangent's radii are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:713
+msgid "Angle Split"
+msgstr "角度分離"
+
+#: src/synfig/valuenode_composite.cpp:714
+msgid "When checked, tangent's angles are independent"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:723
+msgid "The [0,1] position of the Width Point over the Spline"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:727
+msgid "The width of the Width Point"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:730
+#: src/synfig/valuenode_composite.cpp:773
+msgid "Side Type Before"
+msgstr ""
+
+#: src/synfig/valuenode_composite.cpp:731
+#: src/synfig/valuenode_composite.cpp:741
+msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:222
-msgid "Scale of the width"
+#: src/synfig/valuenode_composite.cpp:733
+#: src/synfig/valuenode_composite.cpp:743
+msgid "Interpolate"
+msgstr "內插模式"
+
+#: src/synfig/valuenode_composite.cpp:740
+#: src/synfig/valuenode_composite.cpp:782
+msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_blinecalcwidth.cpp:227
-msgid "When checked, the width is spline length based"
+#: src/synfig/valuenode_composite.cpp:750
+msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:229
-msgid "Bad type for composite"
+#: src/synfig/valuenode_composite.cpp:751
+msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:474
-msgid "Red"
+#: src/synfig/valuenode_composite.cpp:754
+msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:475
-msgid "The red component of the color"
+#: src/synfig/valuenode_composite.cpp:755
+msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:478
-msgid "Green"
+#: src/synfig/valuenode_composite.cpp:764
+msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:479
-msgid "The green component of the color"
+#: src/synfig/valuenode_composite.cpp:768
+#: src/synfig/valuenode_timedswap.cpp:272
+msgid "Length"
+msgstr "長度"
+
+#: src/synfig/valuenode_composite.cpp:769
+msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
-msgid "Blue"
+#: src/synfig/valuenode_composite.cpp:774
+#: src/synfig/valuenode_composite.cpp:783
+msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
-msgid "The blue component of the color"
+#: src/synfig/valuenode_composite.cpp:797
+msgid "The Offset component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-msgid "Alpha"
+#: src/synfig/valuenode_composite.cpp:801
+msgid "The Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
-msgid "The alpha of the color"
+#: src/synfig/valuenode_composite.cpp:804
+msgid "Skew Angle"
+msgstr "歪斜角度"
+
+#: src/synfig/valuenode_composite.cpp:805
+msgid "The Skew Angle component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:492
-msgid "Vertex 1"
+#: src/synfig/valuenode_composite.cpp:809
+msgid "The Scale component of the transformation"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:493
-msgid "The first vertex of the segment"
+#: src/synfig/valuenode_composite.cpp:818
+msgid "The Weight of the value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:496
-#: src/synfig/valuenode_composite.cpp:536
-msgid "Tangent 1"
+#: src/synfig/valuenode_composite.cpp:821
+msgid "Value"
+msgstr "值"
+
+#: src/synfig/valuenode_composite.cpp:822
+msgid "The Value"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:497
-msgid "The first tangent of the segment"
+#: src/synfig/valuenode_composite.cpp:830
+msgid "First"
+msgstr "第一"
+
+#: src/synfig/valuenode_composite.cpp:831
+msgid "The First Value"
+msgstr "第一個值"
+
+#: src/synfig/valuenode_composite.cpp:834
+msgid "Second"
+msgstr "第二"
+
+#: src/synfig/valuenode_composite.cpp:835
+msgid "The Second Value"
+msgstr "第二個值"
+
+#: src/synfig/valuenode_cos.cpp:156
+msgid "Value to calculate the cosine"
+msgstr "計算餘弦的值"
+
+#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
+msgid "Amplitude"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
-msgid "Vertex 2"
+#: src/synfig/valuenode_cos.cpp:161
+msgid "Multiplier of the resulting cosine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
-msgid "The second vertex of the segment"
+#: src/synfig/valuenode_derivative.cpp:368
+msgid "Value to calculate the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
-#: src/synfig/valuenode_composite.cpp:540
-msgid "Tangent 2"
+#: src/synfig/valuenode_derivative.cpp:371
+msgid "Interval"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
-msgid "The second tangent of the segment"
+#: src/synfig/valuenode_derivative.cpp:372
+msgid "Interval of time to calculate the finite differences"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
-msgid "X-Axis"
+#: src/synfig/valuenode_derivative.cpp:375
+msgid "Accuracy"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
-msgid "The X-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:376
+msgid "Accuracy of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:514
-msgid "Y-Axis"
+#: src/synfig/valuenode_derivative.cpp:378
+msgid "Rough"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
-msgid "The Y-Axis component of the vector"
+#: src/synfig/valuenode_derivative.cpp:380
+msgid "Fine"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:520
-msgid "Vertex"
+#: src/synfig/valuenode_derivative.cpp:381
+msgid "Extreme"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:521
-msgid "The vertex of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:384
+msgid "Order"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:525
-msgid "The width of the Spline Point"
+#: src/synfig/valuenode_derivative.cpp:385
+msgid "Order of the derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:529
-msgid "Defines the Off and On position relative to neighbours"
+#: src/synfig/valuenode_derivative.cpp:387
+msgid "First Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:532
-msgid "Split"
+#: src/synfig/valuenode_derivative.cpp:388
+msgid "Second Derivative"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:533
-msgid "When checked, tangents are independent"
+#: src/synfig/valuenode_dilist.cpp:166
+#, c-format
+msgid "DashItem %03d"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
-msgid "The first tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:168
+msgid "The left side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
-msgid "The second tangent of the Spline Point"
+#: src/synfig/valuenode_dotproduct.cpp:173
+msgid "The right side of the dot product"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
-msgid "The [0,1] position of the Width Point over the Spline"
+#: src/synfig/valuenode_duplicate.cpp:194
+msgid "From"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:551
-msgid "The width of the Width Point"
+#: src/synfig/valuenode_duplicate.cpp:195
+msgid "Initial value of the index "
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:594
-msgid "Side Type Before"
+#: src/synfig/valuenode_duplicate.cpp:199
+msgid "To"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:555
-#: src/synfig/valuenode_composite.cpp:565
-msgid "Defines the interpolation type of the width point"
+#: src/synfig/valuenode_duplicate.cpp:200
+msgid "Final value of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:557
-#: src/synfig/valuenode_composite.cpp:567
-msgid "Interpolate"
+#: src/synfig/valuenode_duplicate.cpp:205
+msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
-#: src/synfig/valuenode_composite.cpp:603
-msgid "Side Type After"
+#: src/synfig/valuenode_dynamic.cpp:237
+msgid "Tip static"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:574
-msgid "Lower Boundary"
+#: src/synfig/valuenode_dynamic.cpp:238
+msgid "Equilibrium tip position without external forces"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
-msgid "Defines the position at start of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:242
+msgid "Basement of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:578
-msgid "Upper Boundary"
+#: src/synfig/valuenode_dynamic.cpp:245
+msgid "Force"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
-msgid "Defines the position at end of the Spline"
+#: src/synfig/valuenode_dynamic.cpp:246
+msgid "External force applied on the mass center of gravity"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-msgid "The offset length of the Dash Item over the Spline"
+#: src/synfig/valuenode_dynamic.cpp:249
+msgid "Torque"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_timedswap.cpp:260
-msgid "Length"
+#: src/synfig/valuenode_dynamic.cpp:250
+msgid "External momentum applied at the center of inertia"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:590
-msgid "The length of the Dash Item"
+#: src/synfig/valuenode_dynamic.cpp:253
+msgid "Damping coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:595
-#: src/synfig/valuenode_composite.cpp:604
-msgid "Defines the side type of the dash item"
+#: src/synfig/valuenode_dynamic.cpp:254
+msgid "Radial damping coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:168
-msgid "The left side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:257
+msgid "Friction coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:173
-msgid "The right side of the comparison"
+#: src/synfig/valuenode_dynamic.cpp:258
+msgid "Rotational friction coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:177
-msgid "Greater"
+#: src/synfig/valuenode_dynamic.cpp:261
+msgid "Spring coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:178
-msgid "When checked, returns true if LHS > RHS"
+#: src/synfig/valuenode_dynamic.cpp:262
+msgid "Radial spring coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:182
-msgid "Equal"
+#: src/synfig/valuenode_dynamic.cpp:265
+msgid "Torsion coefficient"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:183
-msgid "When checked, returns true if LHS = RHS"
+#: src/synfig/valuenode_dynamic.cpp:266
+msgid "Torsion coefficient of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:187
-msgid "Less"
+#: src/synfig/valuenode_dynamic.cpp:269
+msgid "Mass"
 msgstr ""
 
-#: src/synfig/valuenode_compare.cpp:188
-msgid "When checked, returns true if LHS < RHS"
+#: src/synfig/valuenode_dynamic.cpp:270
+msgid "Mass of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:156
-msgid "Value to calculate the cosine"
+#: src/synfig/valuenode_dynamic.cpp:273
+msgid "Moment of Inertia"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
-msgid "Amplitude"
+#: src/synfig/valuenode_dynamic.cpp:274
+msgid "Moment of inertia of the dynamic system"
 msgstr ""
 
-#: src/synfig/valuenode_cos.cpp:161
-msgid "Multiplier of the resulting cosine"
+#: src/synfig/valuenode_dynamic.cpp:277
+msgid "Spring rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:193
-msgid "From"
+#: src/synfig/valuenode_dynamic.cpp:278
+msgid "When checked, linear spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:194
-msgid "Initial value of the index "
+#: src/synfig/valuenode_dynamic.cpp:281
+msgid "Torsion rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:198
-msgid "To"
+#: src/synfig/valuenode_dynamic.cpp:282
+msgid "When checked torsion spring is rigid"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:199
-msgid "Final value of the index"
+#: src/synfig/valuenode_dynamic.cpp:285
+msgid "Origin drags tip"
 msgstr ""
 
-#: src/synfig/valuenode_duplicate.cpp:204
-msgid "Amount increment of the index"
+#: src/synfig/valuenode_dynamic.cpp:286
+msgid "When checked result is origin + tip otherwise result is just tip"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_dynamiclist.cpp:669
+#: src/synfig/valuenode_staticlist.cpp:351
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:709
-#: src/synfig/valuenode_dynamiclist.cpp:964
+#: src/synfig/valuenode_dynamiclist.cpp:717
+#: src/synfig/valuenode_dynamiclist.cpp:972
+#: src/synfig/valuenode_staticlist.cpp:396
+#: src/synfig/valuenode_staticlist.cpp:459
 #, c-format
 msgid "Item %03d"
-msgstr ""
+msgstr "項目 %03d"
 
 #: src/synfig/valuenode_exp.cpp:150
 msgid "Exponent"
-msgstr ""
+msgstr "指數"
 
 #: src/synfig/valuenode_exp.cpp:151
 msgid "The value to raise the constant 'e'"
@@ -3713,6 +4246,18 @@ msgstr ""
 msgid "Multiplier of the resulting exponent"
 msgstr ""
 
+#: src/synfig/valuenode_gradientcolor.cpp:159
+msgid "The gradient where the color is picked from"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:164
+msgid "The position of the color at the gradient (0,1]"
+msgstr ""
+
+#: src/synfig/valuenode_gradientcolor.cpp:169
+msgid "When checked, the index would loop"
+msgstr ""
+
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
 msgstr ""
@@ -3721,58 +4266,88 @@ msgstr ""
 msgid "The amount to offset the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_integer.cpp:195
+#: src/synfig/valuenode_greyed.cpp:97
+msgid "The greyed value"
+msgstr "灰階值"
+
+#: src/synfig/valuenode_integer.cpp:192
 msgid "The integer value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:194
+#: src/synfig/valuenode_intstring.cpp:165
+msgid "Int"
+msgstr "整數"
+
+#: src/synfig/valuenode_join.cpp:187
 msgid "Strings"
-msgstr ""
+msgstr "字串"
 
-#: src/synfig/valuenode_join.cpp:195
+#: src/synfig/valuenode_join.cpp:188
 msgid "The List of strings to join"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
+#: src/synfig/valuenode_join.cpp:192 src/synfig/valuenode_timedswap.cpp:257
 msgid "Before"
-msgstr ""
+msgstr "之前"
 
-#: src/synfig/valuenode_join.cpp:200
+#: src/synfig/valuenode_join.cpp:193
 msgid "The string to place before the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:204
+#: src/synfig/valuenode_join.cpp:197
 msgid "Separator"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:205
+#: src/synfig/valuenode_join.cpp:198
 msgid "The string to place between each string joined"
 msgstr ""
 
-#: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
+#: src/synfig/valuenode_join.cpp:202 src/synfig/valuenode_timedswap.cpp:262
 msgid "After"
-msgstr ""
+msgstr "之後"
 
-#: src/synfig/valuenode_join.cpp:210
+#: src/synfig/valuenode_join.cpp:203
 msgid "The string to place after the joined strings"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:200
+#: src/synfig/valuenode_linear.cpp:208
 msgid "Rate"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
+#: src/synfig/valuenode_linear.cpp:209 src/synfig/valuenode_linear.cpp:216
 msgid "Value that is multiplied by the current time (in seconds)"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:207
+#: src/synfig/valuenode_linear.cpp:215
 msgid "Slope"
 msgstr ""
 
-#: src/synfig/valuenode_linear.cpp:214
+#: src/synfig/valuenode_linear.cpp:222
 msgid "Returned value when the current time is zero"
 msgstr ""
 
+#: src/synfig/valuenode_log.cpp:160
+msgid "Value node used to calculate the Neperian logarithm"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:164 src/synfig/valuenode_pow.cpp:190
+#: src/synfig/valuenode_reciprocal.cpp:170
+msgid "Epsilon"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:165
+msgid "Value used to compare 'link' with zero "
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:169 src/synfig/valuenode_pow.cpp:195
+#: src/synfig/valuenode_reciprocal.cpp:175
+msgid "Infinite"
+msgstr ""
+
+#: src/synfig/valuenode_log.cpp:170 src/synfig/valuenode_pow.cpp:196
+msgid "Returned value when result tends to infinite"
+msgstr ""
+
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
 msgstr ""
@@ -3801,29 +4376,17 @@ msgstr ""
 msgid "The power used to raise the base"
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
-msgid "Epsilon"
-msgstr ""
-
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
 msgstr ""
 
-#: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
-msgid "Infinite"
-msgstr ""
-
-#: src/synfig/valuenode_pow.cpp:196
-msgid "Returned value when result tends to infinite"
-msgstr ""
-
-#: src/synfig/valuenode_radialcomposite.cpp:127
+#: src/synfig/valuenode_radialcomposite.cpp:128
 msgid "Bad type for radialcomposite"
 msgstr ""
 
-#: src/synfig/valuenode_radialcomposite.cpp:257
+#: src/synfig/valuenode_radialcomposite.cpp:255
 msgid "Luma"
-msgstr ""
+msgstr "亮度"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3837,58 +4400,34 @@ msgstr ""
 msgid "The angle of the vector with the X axis"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:122
+#: src/synfig/valuenode_range.cpp:128
 msgid "Some of my parameters aren't set!"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:278
+#: src/synfig/valuenode_range.cpp:279
 msgid "Min"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:279
+#: src/synfig/valuenode_range.cpp:280
 msgid "Returned value when 'Link' is smaller"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:283
+#: src/synfig/valuenode_range.cpp:284
 msgid "Max"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:284
+#: src/synfig/valuenode_range.cpp:285
 msgid "Returned value when 'Link' is greater"
 msgstr ""
 
-#: src/synfig/valuenode_range.cpp:289
+#: src/synfig/valuenode_range.cpp:290
 msgid "The value node to limit its range"
 msgstr ""
 
-#: src/synfig/valuenode_real.cpp:183
+#: src/synfig/valuenode_real.cpp:180
 msgid "The real value to be converted"
 msgstr ""
 
-#: src/synfig/valuenode_realstring.cpp:176
-msgid "Value to convert to string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:181
-msgid "Width of the string"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:185
-msgid "Precision"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:186
-msgid "Number of decimal places"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:190
-msgid "Zero Padded"
-msgstr ""
-
-#: src/synfig/valuenode_realstring.cpp:191
-msgid "When checked, the string is left filled with zeros to match the width"
-msgstr ""
-
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
 msgstr ""
@@ -3920,7 +4459,7 @@ msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
-"Specifies how much biased is the source gradeint in the repetition [0,1]"
+"Specifies how much biased is the source gradient in the repetition [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
@@ -3957,23 +4496,23 @@ msgstr ""
 msgid "Used as the end of the resulting gradient"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
-#: src/synfig/valuenode_scale.cpp:190
+#: src/synfig/valuenode_scale.cpp:150 src/synfig/valuenode_scale.cpp:167
+#: src/synfig/valuenode_scale.cpp:178
 msgid "Attempting to get the inverse of a non invertible Valuenode"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:268
+#: src/synfig/valuenode_scale.cpp:250
 msgid "The value node used to scale"
 msgstr ""
 
-#: src/synfig/valuenode_scale.cpp:273
+#: src/synfig/valuenode_scale.cpp:255
 msgid "Value that multiplies the value node"
 msgstr ""
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "線段"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3999,27 +4538,27 @@ msgstr ""
 msgid "The value that multiplies the resulting sine"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:198
+#: src/synfig/valuenode_step.cpp:193
 msgid "The value node used to make the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:203
+#: src/synfig/valuenode_step.cpp:198
 msgid "The duration of the step"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
+#: src/synfig/valuenode_step.cpp:202 src/tool/printing_functions.cpp:71
 msgid "Start Time"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:208
+#: src/synfig/valuenode_step.cpp:203
 msgid "The time when the step conversion starts"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:212
+#: src/synfig/valuenode_step.cpp:207
 msgid "Intersection"
 msgstr ""
 
-#: src/synfig/valuenode_step.cpp:213
+#: src/synfig/valuenode_step.cpp:208
 msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
@@ -4051,15 +4590,15 @@ msgstr ""
 msgid "Width of stripes in the gradient between [0,1]"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:219
+#: src/synfig/valuenode_subtract.cpp:228
 msgid "Left Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:224
+#: src/synfig/valuenode_subtract.cpp:233
 msgid "Right Hand Side of the subtraction"
 msgstr ""
 
-#: src/synfig/valuenode_subtract.cpp:229
+#: src/synfig/valuenode_subtract.cpp:238
 msgid "Value that multiplies the subtraction"
 msgstr ""
 
@@ -4083,24 +4622,24 @@ msgstr ""
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:246
+#: src/synfig/valuenode_timedswap.cpp:258
 msgid "The value node returned when current time is before 'time' - 'length'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:251
+#: src/synfig/valuenode_timedswap.cpp:263
 msgid "The value node returned when current time is after 'time'"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:255
-#: src/synfig/valuenode_timestring.cpp:163
+#: src/synfig/valuenode_timedswap.cpp:267
+#: src/synfig/valuenode_timestring.cpp:156
 msgid "Time"
-msgstr ""
+msgstr "時間"
 
-#: src/synfig/valuenode_timedswap.cpp:256
+#: src/synfig/valuenode_timedswap.cpp:268
 msgid "The time when the linear interpolation ends"
 msgstr ""
 
-#: src/synfig/valuenode_timedswap.cpp:261
+#: src/synfig/valuenode_timedswap.cpp:273
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
@@ -4111,10 +4650,14 @@ msgid "The value node to time loop"
 msgstr ""
 
 #: src/synfig/valuenode_timeloop.cpp:180
-msgid "Start time of the loop for the value node timeline"
+msgid "Start time of the loop for the value node Timeline"
 msgstr ""
 
-#: src/synfig/valuenode_timestring.cpp:164
+#: src/synfig/valuenode_timeloop.cpp:190
+msgid "Length of the loop"
+msgstr ""
+
+#: src/synfig/valuenode_timestring.cpp:157
 msgid "The time that is converted to string"
 msgstr ""
 
@@ -4126,229 +4669,241 @@ msgstr ""
 msgid "The end color of the gradient"
 msgstr ""
 
-#: src/synfig/valuenode_vectorangle.cpp:147
-#: src/synfig/valuenode_vectorlength.cpp:145
-#: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
+#: src/synfig/valuenode_vectorangle.cpp:143
+#: src/synfig/valuenode_vectorlength.cpp:141
+#: src/synfig/valuenode_vectorx.cpp:141 src/synfig/valuenode_vectory.cpp:141
 msgid "Vector"
-msgstr ""
+msgstr "向量"
 
-#: src/synfig/valuenode_vectorangle.cpp:148
+#: src/synfig/valuenode_vectorangle.cpp:144
 msgid "The vector where the angle is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorlength.cpp:146
+#: src/synfig/valuenode_vectorlength.cpp:142
 msgid "The vector where the length is calculated from"
 msgstr ""
 
-#: src/synfig/valuenode_vectorx.cpp:146
+#: src/synfig/valuenode_vectorx.cpp:142
 msgid "The vector where the X coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_vectory.cpp:146
+#: src/synfig/valuenode_vectory.cpp:142
 msgid "The vector where the Y coordinate is extracted from"
 msgstr ""
 
-#: src/synfig/valuenode_wplist.cpp:348
+#: src/synfig/valuenode_weightedaverage.cpp:105
+msgid "weighted Average"
+msgstr ""
+
+#: src/synfig/valuenode_wplist.cpp:345
 #, c-format
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:141
+#: src/synfig/weightedvalue.h:77
+msgid "weighted"
+msgstr ""
+
+#: src/tool/main.cpp:104
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:143
 msgid "Settings"
-msgstr ""
+msgstr "設定"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:145
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:146
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:147
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:148
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:149
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:150
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:185
+#: src/tool/main.cpp:151
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:186
+#: src/tool/main.cpp:152
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:153
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:154
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:155
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:156
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:191
+#: src/tool/main.cpp:157
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:192
+#: src/tool/main.cpp:158
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:193 src/tool/main.cpp:194
+#: src/tool/main.cpp:159 src/tool/main.cpp:160
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:161
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:162
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:163
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:198
+#: src/tool/main.cpp:164
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:201
+#: src/tool/main.cpp:167
 msgid "Switch options"
-msgstr ""
+msgstr "交換器選項"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:169
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:204
+#: src/tool/main.cpp:170
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:205
+#: src/tool/main.cpp:171
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:206
+#: src/tool/main.cpp:172
 msgid "Extract alpha"
-msgstr ""
+msgstr "擷取透明度"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:175
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:211
+#: src/tool/main.cpp:177
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:212
+#: src/tool/main.cpp:178
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:213 src/tool/main.cpp:239
+#: src/tool/main.cpp:179 src/tool/main.cpp:205
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:182
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:184
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:185
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:188
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:190
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:191
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:226
+#: src/tool/main.cpp:192
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:227
+#: src/tool/main.cpp:193
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:228
+#: src/tool/main.cpp:194
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:229
+#: src/tool/main.cpp:195
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:230
+#: src/tool/main.cpp:196
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:231
+#: src/tool/main.cpp:197
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:232
+#: src/tool/main.cpp:198
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:233
+#: src/tool/main.cpp:199
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:200
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:243
+#: src/tool/main.cpp:209
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:245
+#: src/tool/main.cpp:211
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:246
+#: src/tool/main.cpp:212
 msgid "Test signal implementation"
 msgstr ""
 
+#: src/tool/main.cpp:247
+msgid "Try 'synfig --help' for more information"
+msgstr ""
+
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
 msgstr ""
@@ -4361,320 +4916,291 @@ msgstr ""
 msgid "Target name undefined, attempting to figure it out"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:122
+#: src/tool/joblistprocessor.cpp:120
 msgid "Defaulting to PNG target..."
-msgstr ""
+msgstr "預設為 PNG..."
 
-#: src/tool/joblistprocessor.cpp:147
-msgid "Unable to create ouput for \""
+#: src/tool/joblistprocessor.cpp:145
+#, c-format
+msgid "Unable to create output for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:149 src/tool/joblistprocessor.cpp:167
+#: src/tool/joblistprocessor.cpp:148 src/tool/joblistprocessor.cpp:168
 msgid "Throwing out job..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:153
+#: src/tool/joblistprocessor.cpp:152
 msgid "Creating the target..."
 msgstr ""
 
 #: src/tool/joblistprocessor.cpp:165
-msgid "Unknown target for \""
+#, c-format
+msgid "Unknown target for \"%s\": %s"
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:177
+#: src/tool/joblistprocessor.cpp:178
 msgid "Setting the canvas on the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:180
+#: src/tool/joblistprocessor.cpp:181
 msgid "Setting the quality of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:185
+#: src/tool/joblistprocessor.cpp:186
 msgid "Setting the alpha mode of the target..."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:230 src/tool/joblistprocessor.cpp:240
+#: src/tool/joblistprocessor.cpp:228 src/tool/joblistprocessor.cpp:238
 msgid "Render Failure."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:234
+#: src/tool/joblistprocessor.cpp:232
 msgid "Rendering..."
-msgstr ""
+msgstr "繪製中..."
 
-#: src/tool/joblistprocessor.cpp:244
+#: src/tool/joblistprocessor.cpp:246
 msgid ": Rendered in "
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:245
+#: src/tool/joblistprocessor.cpp:248
 msgid " seconds."
 msgstr ""
 
-#: src/tool/joblistprocessor.cpp:248
+#: src/tool/joblistprocessor.cpp:252
 msgid "Done."
-msgstr ""
+msgstr "完成."
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:138
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:115
+#: src/tool/optionsprocessor.cpp:139
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:132
+#: src/tool/optionsprocessor.cpp:156
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:147
+#: src/tool/optionsprocessor.cpp:176
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:255
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:226
+#: src/tool/optionsprocessor.cpp:256
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:228
+#: src/tool/optionsprocessor.cpp:258
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:233
+#: src/tool/optionsprocessor.cpp:263
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:265
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:236
+#: src/tool/optionsprocessor.cpp:266
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:240
+#: src/tool/optionsprocessor.cpp:270
 msgid "\tDescription: "
-msgstr ""
+msgstr "\t描述: "
 
-#: src/tool/optionsprocessor.cpp:244
+#: src/tool/optionsprocessor.cpp:274
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:310
+#: src/tool/optionsprocessor.cpp:340
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:317
+#: src/tool/optionsprocessor.cpp:347
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:325
+#: src/tool/optionsprocessor.cpp:355
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:335
+#: src/tool/optionsprocessor.cpp:365
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:344
+#: src/tool/optionsprocessor.cpp:374
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:353
+#: src/tool/optionsprocessor.cpp:383
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:380
+#: src/tool/optionsprocessor.cpp:406
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:386
+#: src/tool/optionsprocessor.cpp:412
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:401
+#: src/tool/optionsprocessor.cpp:427
 #, c-format
-msgid "Resolution set to %dx%d"
+msgid "Resolution set to %dx%d."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:418
+#: src/tool/optionsprocessor.cpp:444
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:438
+#: src/tool/optionsprocessor.cpp:470
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:441
-#, c-format
-msgid "Target video codec set to %s"
+#: src/tool/optionsprocessor.cpp:474
+msgid "Target video codec set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:447
-#, c-format
-msgid "Target bitrate set to %dk"
+#: src/tool/optionsprocessor.cpp:480
+msgid "Target bitrate set to: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:453
-#, c-format
-msgid "Output file sequence separator set to %s"
+#: src/tool/optionsprocessor.cpp:486
+msgid "Output file sequence separator set to: '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:488
+#: src/tool/optionsprocessor.cpp:538
 #, c-format
-msgid "Unable to load '%s'."
+msgid "Unable to load file '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:495
+#: src/tool/optionsprocessor.cpp:546
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:500
+#: src/tool/optionsprocessor.cpp:552
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:519
+#: src/tool/optionsprocessor.cpp:571
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:590
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:544
+#: src/tool/optionsprocessor.cpp:597
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:563
+#: src/tool/optionsprocessor.cpp:634
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:577
+#: src/tool/optionsprocessor.cpp:648
 msgid "Appended contents of "
 msgstr ""
 
-#: src/tool/printing_functions.cpp:86
+#: src/tool/printing_functions.cpp:78
 msgid "End Time"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:93
+#: src/tool/printing_functions.cpp:85
 msgid "Frame Rate"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:100
+#: src/tool/printing_functions.cpp:92
 msgid "Start Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:107
+#: src/tool/printing_functions.cpp:99
 msgid "End Frame"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:129
+#: src/tool/printing_functions.cpp:121
 msgid "Image Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:139
+#: src/tool/printing_functions.cpp:131
 msgid "Pixel Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:146
+#: src/tool/printing_functions.cpp:138
 msgid "Pixel Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:153
+#: src/tool/printing_functions.cpp:145
 msgid "Pixel Aspect Ratio"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:163
+#: src/tool/printing_functions.cpp:155
 msgid "Top Left"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:170
+#: src/tool/printing_functions.cpp:162
 msgid "Bottom Right"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:177
+#: src/tool/printing_functions.cpp:169
 msgid "Physical Width"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:184
+#: src/tool/printing_functions.cpp:176
 msgid "Physical Height"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:191
+#: src/tool/printing_functions.cpp:183
 msgid "X Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:197
+#: src/tool/printing_functions.cpp:189
 msgid "Y Resolution"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:203
+#: src/tool/printing_functions.cpp:195
 msgid "Diagonal Image Span"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:212
+#: src/tool/printing_functions.cpp:204
 msgid "Interlaced"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:219
+#: src/tool/printing_functions.cpp:211
 msgid "Antialias"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:233
+#: src/tool/printing_functions.cpp:225
 msgid "Flags"
 msgstr ""
 
-#: src/tool/printing_functions.cpp:240
+#: src/tool/printing_functions.cpp:232
 msgid "Focus"
-msgstr ""
+msgstr "焦點"
 
-#: src/tool/printing_functions.cpp:247
+#: src/tool/printing_functions.cpp:239
 msgid "Background Color"
-msgstr ""
+msgstr "背景顏色"
 
-#: src/tool/printing_functions.cpp:258
+#: src/tool/printing_functions.cpp:250
 msgid "Metadata"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid "Line"
-msgstr ""
-
-#: src/tool/renderprogress.h:109
-msgid " of "
-msgstr ""
-
-#: src/tool/renderprogress.h:124
-msgid "w "
-msgstr ""
-
-#: src/tool/renderprogress.h:127
-msgid "d "
-msgstr ""
-
-#: src/tool/renderprogress.h:130
-msgid "h "
-msgstr ""
-
-#: src/tool/renderprogress.h:133
-msgid "m "
-msgstr ""
-
-#: src/tool/renderprogress.h:136
-msgid "s "
-msgstr ""
+msgstr "元資料"
diff --git a/src/Makefile.in b/src/Makefile.in
index 6073b56..22f0f5f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -84,7 +84,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -192,9 +195,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -226,6 +232,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -263,6 +273,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -280,6 +291,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 6488c3e..2e923ea 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -223,9 +226,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -257,6 +263,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -294,6 +304,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -311,6 +322,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/lyr_freetype/Makefile.in b/src/modules/lyr_freetype/Makefile.in
index 1141f57..d00f4de 100644
--- a/src/modules/lyr_freetype/Makefile.in
+++ b/src/modules/lyr_freetype/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -88,7 +88,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -242,9 +245,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -276,6 +282,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -313,6 +323,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -330,6 +341,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/lyr_freetype/lyr_freetype.cpp b/src/modules/lyr_freetype/lyr_freetype.cpp
index 7f5cdaa..7017c08 100644
--- a/src/modules/lyr_freetype/lyr_freetype.cpp
+++ b/src/modules/lyr_freetype/lyr_freetype.cpp
@@ -102,11 +102,11 @@ Layer_Freetype::Layer_Freetype()
 	param_vcompress=ValueBase(Real(1.0));
 	param_weight=ValueBase(WEIGHT_NORMAL);
 	param_style=ValueBase(PANGO_STYLE_NORMAL);
-	param_family=ValueBase("Sans Serif");
+	param_family=ValueBase((const char*)"Sans Serif");
 	param_use_kerning=ValueBase(true);
 	param_grid_fit=ValueBase(false);
 	param_invert=ValueBase(false);
-	param_font=ValueBase("");
+	param_font=ValueBase(synfig::String());
 
 	old_version=false;
 
@@ -687,6 +687,8 @@ Layer_Freetype::get_color(Context context, const synfig::Point &pos)const
 bool
 Layer_Freetype::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	bool use_kerning=param_use_kerning.get(bool());
 	bool grid_fit=param_grid_fit.get(bool());
 	bool invert=param_invert.get(bool());
@@ -1081,7 +1083,7 @@ Layer_Freetype::accelerated_cairorender(Context context, cairo_t *cr, int qualit
 	// Vertical
 	int total_lines=pango_layout_get_line_count(layout);
 	float vspace_total=vcompress>1.0?0.4*logical_layout.height*(vcompress-1.0):(vcompress<1.0)?0.6*logical_layout.height*(vcompress-1.0):0;
-	float vspace;
+	float vspace=0;
 	if(total_lines>1)
 		vspace=vspace_total/(total_lines-1);
 	pango_layout_set_spacing(layout, vspace*PANGO_SCALE);
diff --git a/src/modules/lyr_std/Makefile.in b/src/modules/lyr_std/Makefile.in
index 5e2d4c2..360b024 100644
--- a/src/modules/lyr_std/Makefile.in
+++ b/src/modules/lyr_std/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -242,9 +245,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -276,6 +282,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -313,6 +323,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -330,6 +341,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/lyr_std/bevel.cpp b/src/modules/lyr_std/bevel.cpp
index 43cbe7d..2b5f1d7 100644
--- a/src/modules/lyr_std/bevel.cpp
+++ b/src/modules/lyr_std/bevel.cpp
@@ -179,6 +179,8 @@ Layer_Bevel::get_color(Context context, const Point &pos)const
 bool
 Layer_Bevel::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	synfig::Real softness=param_softness.get(Real());
 	int type=param_type.get(int());
 	synfig::Color color1=param_color1.get(synfig::Color());
diff --git a/src/modules/lyr_std/booleancurve.cpp b/src/modules/lyr_std/booleancurve.cpp
index 944f250..91caebe 100644
--- a/src/modules/lyr_std/booleancurve.cpp
+++ b/src/modules/lyr_std/booleancurve.cpp
@@ -68,7 +68,7 @@ BooleanCurve::~BooleanCurve()
 
 bool BooleanCurve::set_param(const String & param, const synfig::ValueBase &value)
 {
-	if(param=="regions" && value.same_type_as(regions))
+	if(param=="regions" && value.same_type_as(synfig::ValueBase::List()))
 	{
 		vector<BLinePoint> bv;
 		int size = value.get_list().size();
@@ -78,7 +78,7 @@ bool BooleanCurve::set_param(const String & param, const synfig::ValueBase &valu
 		regions.clear();
 		for(int i = 0; i < size; ++i)
 		{
-			regions.push_back(vector<BLinePoint>(vlist[i].get_list().begin(),vlist[i].get_list().end()));
+			regions.push_back(vector<BLinePoint>(vlist[i].get_list_of(BLinePoint())));
 		}
 		return true;
 	}
diff --git a/src/modules/lyr_std/booleancurve.h b/src/modules/lyr_std/booleancurve.h
index 5896e7d..90053d9 100644
--- a/src/modules/lyr_std/booleancurve.h
+++ b/src/modules/lyr_std/booleancurve.h
@@ -53,7 +53,7 @@ class BooleanCurve : public Layer_Shape
 		Num_Boolean_Ops
 	};
 
-	int operation;
+	//int operation;
 
 public:
 
diff --git a/src/modules/lyr_std/clamp.cpp b/src/modules/lyr_std/clamp.cpp
index b192130..91fb10c 100644
--- a/src/modules/lyr_std/clamp.cpp
+++ b/src/modules/lyr_std/clamp.cpp
@@ -189,6 +189,8 @@ Layer_Clamp::get_color(Context context, const Point &pos)const
 bool
 Layer_Clamp::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
diff --git a/src/modules/lyr_std/curvewarp.cpp b/src/modules/lyr_std/curvewarp.cpp
index 7893020..8d48abd 100644
--- a/src/modules/lyr_std/curvewarp.cpp
+++ b/src/modules/lyr_std/curvewarp.cpp
@@ -150,7 +150,7 @@ find_closest_to_bline(bool fast, const std::vector<synfig::BLinePoint>& bline,co
 inline void
 CurveWarp::sync()
 {
-	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(),param_bline.get_list().end());
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list_of(synfig::BLinePoint()));
 	Point start_point=param_start_point.get(Point());
 	Point end_point=param_end_point.get(Point());
 	
@@ -175,7 +175,7 @@ CurveWarp::CurveWarp():
 	bline[1].set_tangent(Point(1, -0.1));
 	bline[0].set_width(1.0f);
 	bline[1].set_width(1.0f);
-	param_bline.set(bline);
+	param_bline.set_list_of(bline);
 	sync();
 
 	SET_INTERPOLATION_DEFAULTS();
@@ -185,7 +185,7 @@ CurveWarp::CurveWarp():
 inline Point
 CurveWarp::transform(const Point &point_, Real *dist, Real *along, int quality)const
 {
-	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(),param_bline.get_list().end());
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list_of(synfig::BLinePoint()));
 	Point start_point=param_start_point.get(Point());
 	Point end_point=param_end_point.get(Point());
 	Point origin=param_origin.get(Point());
@@ -254,7 +254,7 @@ CurveWarp::transform(const Point &point_, Real *dist, Real *along, int quality)c
 
 			if (t<0.5)
 			{
-				if (iter->get_split_tangent_flag() || zero_tangent)
+				if (iter->get_split_tangent_angle() || iter->get_split_tangent_radius() || zero_tangent)
 				{
 					// fake the current tangent if we need to
 					if (zero_tangent) tangent = curve(FAKE_TANGENT_STEP) - curve(0);
@@ -279,7 +279,7 @@ CurveWarp::transform(const Point &point_, Real *dist, Real *along, int quality)c
 			}
 			else
 			{
-				if (next->get_split_tangent_flag() || zero_tangent)
+				if (next->get_split_tangent_angle() || next->get_split_tangent_radius() || zero_tangent)
 				{
 					// fake the current tangent if we need to
 					if (zero_tangent) tangent = curve(1) - curve(1-FAKE_TANGENT_STEP);
@@ -434,6 +434,8 @@ CurveWarp::get_color(Context context, const Point &point)const
 bool
 CurveWarp::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Point start_point=param_start_point.get(Point());
 	Point end_point=param_end_point.get(Point());
 
diff --git a/src/modules/lyr_std/import.cpp b/src/modules/lyr_std/import.cpp
index 1c400b2..8f2e29b 100644
--- a/src/modules/lyr_std/import.cpp
+++ b/src/modules/lyr_std/import.cpp
@@ -43,6 +43,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/canvas.h>
+#include <synfig/filesystemnative.h>
 
 #endif
 
@@ -88,9 +89,10 @@ Import::set_param(const String & param, const ValueBase &value)
 {
 	try{
 	IMPORT_VALUE(param_time_offset);
-IMPORT_VALUE_PLUS(param_filename,
+
+	String filename=param_filename.get(String());
+	IMPORT_VALUE_PLUS_BEGIN(param_filename)
 	{
-		String filename=param_filename.get(String());
 		if(!get_canvas())
 		{
 			filename=value.get(filename);
@@ -129,6 +131,11 @@ IMPORT_VALUE_PLUS(param_filename,
 		}
 #endif
 
+		// TODO: "images" and "container:" literals
+		String newfilename_orig = newfilename;
+		if (newfilename_orig.substr(0, String("#").size()) == "#")
+			newfilename_orig = "#images/" + newfilename_orig.substr(String("#").size());
+
 		if(filename.empty())
 			filename=newfilename;
 
@@ -157,24 +164,29 @@ IMPORT_VALUE_PLUS(param_filename,
 
 				assert(get_canvas());
 
-				if(is_absolute_path(newfilename))
-					filename_with_path=newfilename;
+				FileSystem::Handle file_system = get_canvas()->get_identifier().file_system;
+				if (!file_system) file_system = FileSystemNative::instance();
+
+				// todo: literal "container:"
+				if(is_absolute_path(newfilename_orig)
+				|| newfilename_orig.substr(0, std::string("#").size())=="#")
+					filename_with_path=newfilename_orig;
 				else
-					filename_with_path=get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename;
+					filename_with_path=absolute_path(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename_orig);
 
 				handle<Importer> newimporter;
 
-				newimporter=Importer::open(absolute_path(filename_with_path));
+				newimporter=Importer::open(file_system->get_identifier(filename_with_path));
 
 				if(!newimporter)
 				{
-					newimporter=Importer::open(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+basename(newfilename));
+					newimporter=Importer::open(file_system->get_identifier(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+basename(newfilename_orig)));
 					if(!newimporter)
 					{
 						synfig::error(strprintf("Unable to create an importer object with file \"%s\"",filename_with_path.c_str()));
 						importer=0;
 						filename=newfilename;
-						abs_filename=absolute_path(filename_with_path);
+						abs_filename=filename_with_path;
 						surface.clear();
 						param_filename.set(filename);
 						return false;
@@ -189,7 +201,7 @@ IMPORT_VALUE_PLUS(param_filename,
 
 				importer=newimporter;
 				filename=newfilename;
-				abs_filename=absolute_path(filename_with_path);
+				abs_filename=filename_with_path;
 				param_filename.set(filename);
 
 				return true;
@@ -206,52 +218,57 @@ IMPORT_VALUE_PLUS(param_filename,
 					synfig::warning(strprintf(_("Filename seems to already be set to \"%s\" (%s)"),filename.c_str(),newfilename.c_str()));
 					return true;
 				}
-				 assert(get_canvas());
+				assert(get_canvas());
 				 
-				 if(is_absolute_path(newfilename))
-					 filename_with_path=newfilename;
-				 else
-					 filename_with_path=get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename;
+				FileSystem::Handle file_system = get_canvas()->get_identifier().file_system;
+				if (!file_system) file_system = FileSystemNative::instance();
+
+				// todo: literal "container:"
+				if(is_absolute_path(newfilename_orig)
+				|| newfilename_orig.substr(0, std::string("#").size())=="#")
+					filename_with_path=newfilename_orig;
+				else
+					filename_with_path=absolute_path(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename_orig);
 				 
-				 handle<CairoImporter> newimporter;
+				handle<CairoImporter> newimporter;
 				 
-				 newimporter=CairoImporter::open(absolute_path(filename_with_path));
+				newimporter=CairoImporter::open(file_system->get_identifier(filename_with_path));
 				 
-				 if(!newimporter)
-				 {
-					 newimporter=CairoImporter::open(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+basename(newfilename));
-					 if(!newimporter)
-					 {
-						 synfig::error(strprintf("Unable to create an importer object with file \"%s\"",filename_with_path.c_str()));
-						 cimporter=0;
-						 filename=newfilename;
-						 abs_filename=absolute_path(filename_with_path);
-						 csurface.set_cairo_surface(NULL);
-						 param_filename.set(filename);
-						 return false;
-					 }
-				 }
+				if(!newimporter)
+				{
+					newimporter=CairoImporter::open(file_system->get_identifier(get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+basename(newfilename_orig)));
+					if(!newimporter)
+					{
+						synfig::error(strprintf("Unable to create an importer object with file \"%s\"",filename_with_path.c_str()));
+						cimporter=0;
+						filename=newfilename;
+						abs_filename=filename_with_path;
+						csurface.set_cairo_surface(NULL);
+						param_filename.set(filename);
+						return false;
+					}
+				}
 				 
-				 cairo_surface_t* cs;
-				 if(!newimporter->get_frame(cs, get_canvas()->rend_desc(), Time(0), trimmed, width, height, top, left))
-				 {
+				cairo_surface_t* cs;
+				if(!newimporter->get_frame(cs, get_canvas()->rend_desc(), Time(0), trimmed, width, height, top, left))
+				{
 					synfig::warning(strprintf("Unable to get frame from \"%s\"",filename_with_path.c_str()));
-				 }
-				 set_cairo_surface(cs);
-				 cairo_surface_destroy(cs);
-				 
-				 cimporter=newimporter;
-				 filename=newfilename;
-				 abs_filename=absolute_path(filename_with_path);
-				 param_filename.set(filename);
+				}
+				set_cairo_surface(cs);
+				cairo_surface_destroy(cs);
 				 
-				 return true;
+				cimporter=newimporter;
+				filename=newfilename;
+				abs_filename=filename_with_path;
+				param_filename.set(filename);
+
+				return true;
 				
 				//return false;
 			}
 		}
 	}
-	);
+	IMPORT_VALUE_PLUS_END
 	} catch(...) { set_amount(0); return false; }
 
 	return Layer_Bitmap::set_param(param,value);
@@ -266,12 +283,19 @@ Import::get_param(const String & param)const
 	{
 		if(param=="filename")
 		{
-			ValueBase ret(ValueBase::TYPE_STRING);
+			ValueBase ret(type_string);
 			// This line is needed to copy the internals of ValueBase from param_filename
 			ret=param_filename;
 			
-			string curpath(cleanup_path(absolute_path(get_canvas()->get_file_path())));
-			ret=relative_path(curpath,abs_filename);
+			// todo: literal "container:" and "images"
+			if(ret.get(String()).substr(0, std::string("#").size())!="#") {
+				string curpath(cleanup_path(absolute_path(get_canvas()->get_file_path())));
+				ret=relative_path(curpath,abs_filename);
+			} else
+			if(ret.get(String()).substr(0, std::string("#images/").size())=="#images/") {
+				ret = "#" + ret.get(String()).substr(std::string("#images/").size());
+			}
+
 			return ret;
 		}
 	}
diff --git a/src/modules/lyr_std/insideout.cpp b/src/modules/lyr_std/insideout.cpp
index b149f64..a817f9a 100644
--- a/src/modules/lyr_std/insideout.cpp
+++ b/src/modules/lyr_std/insideout.cpp
@@ -160,7 +160,7 @@ InsideOut::get_param_vocab()const
 
 	ret.push_back(ParamDesc("origin")
 		.set_local_name(_("Origin"))
-		.set_description(_("Defines the where the center will be"))
+		.set_description(_("Defines where the center will be"))
 	);
 
 	return ret;
diff --git a/src/modules/lyr_std/rotate.cpp b/src/modules/lyr_std/rotate.cpp
index e452338..a23dd1b 100644
--- a/src/modules/lyr_std/rotate.cpp
+++ b/src/modules/lyr_std/rotate.cpp
@@ -184,170 +184,14 @@ Rotate::accelerated_render(Context context,Surface *surface,int quality, const R
 	Vector origin=param_origin.get(Vector());
 	Angle amount=param_amount.get(Angle());
 	
-	if(amount.dist(Angle::deg(0))==Angle::deg(0))
-		return context.accelerated_render(surface,quality,renddesc,cb);
-	if(amount.dist(Angle::deg(180))==Angle::deg(0))
-	{
-		RendDesc desc(renddesc);
-		desc.clear_flags();
-		Point tmp;
-		tmp=renddesc.get_tl()-origin;
-		desc.set_tl(Point(-tmp[0],-tmp[1])+origin);
-		tmp=renddesc.get_br()-origin;
-		desc.set_br(Point(-tmp[0],-tmp[1])+origin);
-		return context.accelerated_render(surface,quality,desc,cb);
-	}
-
-	SuperCallback stageone(cb,0,9000,10000);
-	SuperCallback stagetwo(cb,9000,10000,10000);
-
-	if(cb && !cb->amount_complete(0,10000))
-		return false;
-
-	Point tl(renddesc.get_tl()-origin);
-	Point br(renddesc.get_br()-origin);
-
-	{
-		Point rot_tl(cos_val*tl[0]+sin_val*tl[1],-sin_val*tl[0]+cos_val*tl[1]);
-		Point rot_br(cos_val*br[0]+sin_val*br[1],-sin_val*br[0]+cos_val*br[1]);
-		Point rot_tr(cos_val*br[0]+sin_val*tl[1],-sin_val*br[0]+cos_val*tl[1]);
-		Point rot_bl(cos_val*tl[0]+sin_val*br[1],-sin_val*tl[0]+cos_val*br[1]);
-		rot_tl+=origin;
-		rot_br+=origin;
-		rot_tr+=origin;
-		rot_bl+=origin;
-
-		Point min_point(min(min(min(rot_tl[0],rot_br[0]),rot_tr[0]),rot_bl[0]),min(min(min(rot_tl[1],rot_br[1]),rot_tr[1]),rot_bl[1]));
-		Point max_point(max(max(max(rot_tl[0],rot_br[0]),rot_tr[0]),rot_bl[0]),max(max(max(rot_tl[1],rot_br[1]),rot_tr[1]),rot_bl[1]));
-
-		if(tl[0]>br[0])
-		{
-			tl[0]=max_point[0];
-			br[0]=min_point[0];
-		}
-		else
-		{
-			br[0]=max_point[0];
-			tl[0]=min_point[0];
-		}
-		if(tl[1]>br[1])
-		{
-			tl[1]=max_point[1];
-			br[1]=min_point[1];
-		}
-		else
-		{
-			br[1]=max_point[1];
-			tl[1]=min_point[1];
-		}
-	}
-
-	Real pw=(renddesc.get_w())/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
-	Real ph=(renddesc.get_h())/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
-
-	// we're going to round the canvas size to an integer number of pixels, so round the
-	// tl-br rectangle accordingly - otherwise we see the jittering described in bug 2152666
-	br[0] -= (pw*(br[0]-tl[0]) - round_to_int(pw*(br[0]-tl[0]))) / pw;
-	br[1] -= (ph*(br[1]-tl[1]) - round_to_int(ph*(br[1]-tl[1]))) / ph;
-
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-	//desc.set_flags(RendDesc::PX_ASPECT);
-	desc.set_tl(tl);
-	desc.set_br(br);
-	desc.set_wh(round_to_int(pw*(br[0]-tl[0])),round_to_int(ph*(br[1]-tl[1])));
-
-	//synfig::warning("given window: [%f,%f]-[%f,%f] %dx%d",renddesc.get_tl()[0],renddesc.get_tl()[1],renddesc.get_br()[0],renddesc.get_br()[1],renddesc.get_w(),renddesc.get_h());
-	//synfig::warning("surface to render: [%f,%f]-[%f,%f] %dx%d",desc.get_tl()[0],desc.get_tl()[1],desc.get_br()[0],desc.get_br()[1],desc.get_w(),desc.get_h());
-
-	Surface source;
-	source.set_wh(desc.get_w(),desc.get_h());
-
-	if(!context.accelerated_render(&source,quality,desc,&stageone))
-		return false;
-
-	surface->set_wh(renddesc.get_w(),renddesc.get_h());
-
-	Surface::pen pen(surface->begin());
-
-	// There is not need to supersample when the rotation is 90 or -90
-	// There is a one to one pixel correspondence.
-	if(amount.dist(Angle::deg(90))== Angle::deg(0.0) || amount.dist(Angle::deg(-90))== Angle::deg(0.0))
-		quality = 7;
-
-	if(quality<=4)
-	{
-		// CUBIC
-		int x,y;//,u,v,u2,v2;
-		Point point,tmp;
-		for(y=0,point[1]=renddesc.get_tl()[1];y<surface->get_h();y++,pen.inc_y(),pen.dec_x(x),point[1]+=1.0/ph)
-		{
-			for(x=0,point[0]=renddesc.get_tl()[0];x<surface->get_w();x++,pen.inc_x(),point[0]+=1.0/pw)
-			{
-				tmp=Point(cos_val*(point[0]-origin[0])+sin_val*(point[1]-origin[1]),-sin_val*(point[0]-origin[0])+cos_val*(point[1]-origin[1])) +origin;
-				(*surface)[y][x]=source.cubic_sample((tmp[0]-tl[0])*pw,(tmp[1]-tl[1])*ph);
-			}
-			if((y&31)==0 && cb)
-			{
-				if(!stagetwo.amount_complete(y,surface->get_h()))
-					return false;
-			}
-		}
-	}
-	else
-	if(quality<=6)
-	{
-		// INTERPOLATION_LINEAR
-		int x,y;//,u,v,u2,v2;
-		Point point,tmp;
-		for(y=0,point[1]=renddesc.get_tl()[1];y<surface->get_h();y++,pen.inc_y(),pen.dec_x(x),point[1]+=1.0/ph)
-		{
-			for(x=0,point[0]=renddesc.get_tl()[0];x<surface->get_w();x++,pen.inc_x(),point[0]+=1.0/pw)
-			{
-				tmp=Point(cos_val*(point[0]-origin[0])+sin_val*(point[1]-origin[1]),-sin_val*(point[0]-origin[0])+cos_val*(point[1]-origin[1])) +origin;
-				(*surface)[y][x]=source.linear_sample((tmp[0]-tl[0])*pw,(tmp[1]-tl[1])*ph);
-			}
-			if((y&31)==0 && cb)
-			{
-				if(!stagetwo.amount_complete(y,surface->get_h()))
-					return false;
-			}
-		}
-	}
-	else
-	{
-		// NEAREST_NEIGHBOR
-		int x,y,u,v;
-		Point point,tmp;
-		for(y=0,point[1]=renddesc.get_tl()[1];y<surface->get_h();y++,pen.inc_y(),pen.dec_x(x),point[1]+=1.0/ph)
-		{
-			for(x=0,point[0]=renddesc.get_tl()[0];x<surface->get_w();x++,pen.inc_x(),point[0]+=1.0/pw)
-			{
-				tmp=Point(cos_val*(point[0]-origin[0])+sin_val*(point[1]-origin[1]),-sin_val*(point[0]-origin[0])+cos_val*(point[1]-origin[1])) +origin;
-				u=int((tmp[0]-tl[0])*pw);
-				v=int((tmp[1]-tl[1])*ph);
-				if(u<0)
-					u=0;
-				if(v<0)
-					v=0;
-				if(u>=source.get_w())
-					u=source.get_w()-1;
-				if(v>=source.get_h())
-					v=source.get_h()-1;
-				//pen.set_value(source[v][u]);
-				(*surface)[y][x]=source[v][u];
-			}
-			if((y&31)==0 && cb)
-			{
-				if(!stagetwo.amount_complete(y,surface->get_h()))
-					return false;
-			}
-		}
-	}
-
-	if(cb && !cb->amount_complete(10000,10000)) return false;
-
-	return true;
+	RendDesc transformed_renddesc(renddesc);
+	transformed_renddesc.clear_flags();
+	transformed_renddesc.set_transformation_matrix(
+		Matrix().set_translate(-origin)
+	  * Matrix().set_rotate(amount)
+	  * Matrix().set_translate(origin)
+	  * renddesc.get_transformation_matrix() );
+	return context.accelerated_render(surface,quality,transformed_renddesc,cb);
 }
 
 ///////////
diff --git a/src/modules/lyr_std/shade.cpp b/src/modules/lyr_std/shade.cpp
index 0a7c46b..c9407e8 100644
--- a/src/modules/lyr_std/shade.cpp
+++ b/src/modules/lyr_std/shade.cpp
@@ -168,6 +168,8 @@ Layer_Shade::get_color(Context context, const Point &pos)const
 bool
 Layer_Shade::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	synfig::Vector size=param_size.get(synfig::Vector());
 	int type=param_type.get(int());
 	synfig::Color color=param_color.get(synfig::Color());
diff --git a/src/modules/lyr_std/sphere_distort.cpp b/src/modules/lyr_std/sphere_distort.cpp
index 7397821..3e6486a 100644
--- a/src/modules/lyr_std/sphere_distort.cpp
+++ b/src/modules/lyr_std/sphere_distort.cpp
@@ -334,6 +334,8 @@ Layer_SphereDistort::get_color(Context context, const Point &pos)const
 bool
 Layer_SphereDistort::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	/*	Things to consider:
 		1) Block expansion for distortion (ouch... quality level??)
 		2) Bounding box clipping
diff --git a/src/modules/lyr_std/stretch.cpp b/src/modules/lyr_std/stretch.cpp
index 75ffa02..97ff7c5 100644
--- a/src/modules/lyr_std/stretch.cpp
+++ b/src/modules/lyr_std/stretch.cpp
@@ -186,20 +186,16 @@ Layer_Stretch::accelerated_render(Context context,Surface *surface,int quality,
 		return true;
 	}
 
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-    // Adjust the top_left and bottom_right points
-	// for our zoom amount
-	Point npos;
-	npos[0]=(desc.get_tl()[0]-center[0])/amount[0]+center[0];
-	npos[1]=(desc.get_tl()[1]-center[1])/amount[1]+center[1];
-	desc.set_tl(npos);
-	npos[0]=(desc.get_br()[0]-center[0])/amount[0]+center[0];
-	npos[1]=(desc.get_br()[1]-center[1])/amount[1]+center[1];
-	desc.set_br(npos);
+	RendDesc transformed_renddesc(renddesc);
+	transformed_renddesc.clear_flags();
+	transformed_renddesc.set_transformation_matrix(
+		Matrix().set_translate(-center)
+	  *	Matrix().set_scale(amount)
+	  *	Matrix().set_translate(center)
+	  * renddesc.get_transformation_matrix() );
 
 	// Render the scene
-	return context.accelerated_render(surface,quality,desc,cb);
+	return context.accelerated_render(surface,quality,transformed_renddesc,cb);
 }
 
 
diff --git a/src/modules/lyr_std/supersample.cpp b/src/modules/lyr_std/supersample.cpp
index a379ccd..b9a672b 100644
--- a/src/modules/lyr_std/supersample.cpp
+++ b/src/modules/lyr_std/supersample.cpp
@@ -118,6 +118,8 @@ SuperSample::get_param(const String& param)const
 bool
 SuperSample::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	int width=param_width.get(int());
 	int height=param_height.get(int());
 	bool scanline=param_scanline.get(bool());
diff --git a/src/modules/lyr_std/supersample.h b/src/modules/lyr_std/supersample.h
index 48003af..341858a 100644
--- a/src/modules/lyr_std/supersample.h
+++ b/src/modules/lyr_std/supersample.h
@@ -60,6 +60,7 @@ public:
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	using Layer::get_bounding_rect;
 	virtual synfig::Rect get_bounding_rect(Context context)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/lyr_std/timeloop.cpp b/src/modules/lyr_std/timeloop.cpp
index 5cd98e0..8552499 100644
--- a/src/modules/lyr_std/timeloop.cpp
+++ b/src/modules/lyr_std/timeloop.cpp
@@ -132,26 +132,31 @@ Layer_TimeLoop::get_param_vocab()const
 	ret.push_back(ParamDesc("link_time")
 		.set_local_name(_("Link Time"))
 		.set_description(_("Start time of the loop for the cycled context"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("local_time")
 		.set_local_name(_("Local Time"))
 		.set_description(_("The time when the resulted loop starts"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("duration")
 		.set_local_name(_("Duration"))
 		.set_description(_("Lenght of the loop"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("only_for_positive_duration")
 		.set_local_name(_("Only For Positive Duration"))
 		.set_description(_("When checked will loop only positive durations"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("symmetrical")
 		.set_local_name(_("Symmetrical"))
 		.set_description(_("When checked, loops are mirrored centered at Local Time"))
+		.set_static(true)
 	);
 
 	return ret;
diff --git a/src/modules/lyr_std/translate.cpp b/src/modules/lyr_std/translate.cpp
index 72a44fa..058d2d7 100644
--- a/src/modules/lyr_std/translate.cpp
+++ b/src/modules/lyr_std/translate.cpp
@@ -149,14 +149,15 @@ bool
 Translate::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
 	Vector origin=param_origin.get(Vector());
-	RendDesc desc(renddesc);
 
-	desc.clear_flags();
-	desc.set_tl(desc.get_tl()-origin);
-	desc.set_br(desc.get_br()-origin);
+	RendDesc transformed_renddesc(renddesc);
+	transformed_renddesc.clear_flags();
+	transformed_renddesc.set_transformation_matrix(
+		Matrix().set_translate(origin)
+	  * renddesc.get_transformation_matrix() );
 
 	// Render the scene
-	if(!context.accelerated_render(surface,quality,desc,cb))
+	if(!context.accelerated_render(surface,quality,transformed_renddesc,cb))
 	{
 		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
 		return false;
diff --git a/src/modules/lyr_std/twirl.cpp b/src/modules/lyr_std/twirl.cpp
index 63228fd..bbfa157 100644
--- a/src/modules/lyr_std/twirl.cpp
+++ b/src/modules/lyr_std/twirl.cpp
@@ -220,6 +220,8 @@ Twirl::get_transform()const
 bool
 Twirl::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/lyr_std/warp.cpp b/src/modules/lyr_std/warp.cpp
index 1841f77..2b7414b 100644
--- a/src/modules/lyr_std/warp.cpp
+++ b/src/modules/lyr_std/warp.cpp
@@ -504,6 +504,8 @@ Warp::get_color(Context context, const Point &p)const
 bool
 Warp::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Point src_tl=param_src_tl.get(Point());
 	Point src_br=param_src_br.get(Point());
 	Point dest_tl=param_dest_tl.get(Point());
diff --git a/src/modules/lyr_std/warp.h b/src/modules/lyr_std/warp.h
index ac608dc..5365a50 100644
--- a/src/modules/lyr_std/warp.h
+++ b/src/modules/lyr_std/warp.h
@@ -63,7 +63,7 @@ private:
 	//! Parameter: (bool)
 	ValueBase param_clip;
 
-	Real cache_a,cache_b,cache_c,cache_d,cache_e,cache_f,cache_i,cache_j;
+	//Real cache_a,cache_b,cache_c,cache_d,cache_e,cache_f,cache_i,cache_j;
 
 	Real matrix[3][3];
 	Real inv_matrix[3][3];
diff --git a/src/modules/lyr_std/zoom.cpp b/src/modules/lyr_std/zoom.cpp
index 5ae5f32..fb2b37c 100644
--- a/src/modules/lyr_std/zoom.cpp
+++ b/src/modules/lyr_std/zoom.cpp
@@ -161,17 +161,16 @@ Zoom::accelerated_render(Context context,Surface *surface,int quality, const Ren
 	Vector center=param_center.get(Vector());
 	Real amount=param_amount.get(Real());
 
-	Vector::value_type zoomfactor=1.0/exp(amount);
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-
-    // Adjust the top_left and bottom_right points
-	// for our zoom amount
-	desc.set_tl((desc.get_tl()-center)*zoomfactor+center);
-	desc.set_br((desc.get_br()-center)*zoomfactor+center);
+	RendDesc transformed_renddesc(renddesc);
+	transformed_renddesc.clear_flags();
+	transformed_renddesc.set_transformation_matrix(
+		Matrix().set_translate(-center)
+	  *	Matrix().set_scale(exp(amount))
+	  *	Matrix().set_translate(center)
+	  * renddesc.get_transformation_matrix() );
 
 	// Render the scene
-	return context.accelerated_render(surface,quality,desc,cb);
+	return context.accelerated_render(surface,quality,transformed_renddesc,cb);
 }
 
 
diff --git a/src/modules/mod_bmp/Makefile.in b/src/modules/mod_bmp/Makefile.in
index 30ed86d..ab56f65 100644
--- a/src/modules/mod_bmp/Makefile.in
+++ b/src/modules/mod_bmp/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_bmp/mptr_bmp.cpp b/src/modules/mod_bmp/mptr_bmp.cpp
index 8a34da8..4f937d8 100644
--- a/src/modules/mod_bmp/mptr_bmp.cpp
+++ b/src/modules/mod_bmp/mptr_bmp.cpp
@@ -52,33 +52,47 @@ SYNFIG_IMPORTER_SET_NAME(bmp_mptr,"bmp");
 SYNFIG_IMPORTER_SET_EXT(bmp_mptr,"bmp");
 SYNFIG_IMPORTER_SET_VERSION(bmp_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(bmp_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(bmp_mptr, true);
 
 /* === M E T H O D S ======================================================= */
 namespace synfig {
 
-struct BITMAPFILEHEADER
-{
-	unsigned char	bfType[2];
-	unsigned long	bfSize;
-	unsigned short	bfReserved1;
-	unsigned short	bfReserved2;
-	unsigned long	bfOffsetBits;
-};
-
-struct BITMAPINFOHEADER
+#pragma pack(push, 1)
+
+namespace BITMAP
 {
-	unsigned long	biSize;
-	long			biWidth;
-	long			biHeight;
-	unsigned short	biPlanes;
-	unsigned short	biBitCount;
-	unsigned long	biCompression;
-	unsigned long	biSizeImage;
-	long			biXPelsPerMeter;
-	long			biYPelsPerMeter;
-	unsigned long	biClrUsed;
-	unsigned long	biClrImportant;
-};
+	typedef unsigned char uint8_t;
+	typedef unsigned short int uint16_t;
+	typedef int int32_t;
+	typedef unsigned int uint32_t;
+
+	struct FILEHEADER
+	{
+		uint8_t		bfType[2];
+		uint32_t	bfSize;
+		uint16_t	bfReserved1;
+		uint16_t	bfReserved2;
+		uint32_t	bfOffsetBits;
+	};
+
+	struct INFOHEADER
+	{
+		uint32_t	biSize;
+		int32_t		biWidth;
+		int32_t		biHeight;
+		uint16_t	biPlanes;
+		uint16_t	biBitCount;
+		uint32_t	biCompression;
+		uint32_t	biSizeImage;
+		int32_t		biXPelsPerMeter;
+		int32_t		biYPelsPerMeter;
+		uint32_t	biClrUsed;
+		uint32_t	biClrImportant;
+	};
+}
+
+
+#pragma pack(pop)
 
 }
 
@@ -109,53 +123,40 @@ inline short little_endian_short(const short &x)
 #endif
 
 
-
-
-
-
-bmp_mptr::bmp_mptr(const char *file)
-{
-	filename=file;
-}
-
-bmp_mptr::~bmp_mptr()
-{
-}
-
 bool
 bmp_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc*/, Time /*time*/, synfig::ProgressCallback *cb)
 {
-	FILE *file=fopen(filename.c_str(),"rb");
-	if(!file)
+	FileSystem::ReadStreamHandle stream = identifier.get_read_stream();
+	if(!stream)
 	{
-		if(cb)cb->error("bmp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),filename.c_str()));
-		else synfig::error("bmp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),filename.c_str()));
+		if(cb)cb->error("bmp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),identifier.filename.c_str()));
+		else synfig::error("bmp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),identifier.filename.c_str()));
 		return false;
 	}
 
-	synfig::BITMAPFILEHEADER fileheader;
-	synfig::BITMAPINFOHEADER infoheader;
-	char b_char=fgetc(file);
-	char m_char=fgetc(file);
+	synfig::BITMAP::FILEHEADER fileheader;
+	synfig::BITMAP::INFOHEADER infoheader;
 
-	if(b_char!='B' || m_char!='M')
+	if (!stream->read_variable(fileheader.bfType)
+	 || fileheader.bfType[0] != 'B'
+	 || fileheader.bfType[1] != 'M')
 	{
-		if(cb)cb->error("bmp_mptr::GetFrame(): "+strprintf(_("%s is not in BMP format"),filename.c_str()));
-		else synfig::error("bmp_mptr::GetFrame(): "+strprintf(_("%s is not in BMP format"),filename.c_str()));
+		if(cb)cb->error("bmp_mptr::GetFrame(): "+strprintf(_("%s is not in BMP format"),identifier.filename.c_str()));
+		else synfig::error("bmp_mptr::GetFrame(): "+strprintf(_("%s is not in BMP format"),identifier.filename.c_str()));
 		return false;
 	}
 
-	if(fread(&fileheader.bfSize, 1, sizeof(synfig::BITMAPFILEHEADER)-4, file)!=sizeof(synfig::BITMAPFILEHEADER)-4)
+	if(!stream->read_whole_block(&fileheader.bfSize, sizeof(synfig::BITMAP::FILEHEADER)-2))
 	{
-		String str("bmp_mptr::get_frame(): "+strprintf(_("Failure while reading BITMAPFILEHEADER from %s"),filename.c_str()));
+		String str("bmp_mptr::get_frame(): "+strprintf(_("Failure while reading BITMAP::FILEHEADER from %s"),identifier.filename.c_str()));
 		if(cb)cb->error(str);
 		else synfig::error(str);
 		return false;
 	}
 
-	if(fread(&infoheader, 1, sizeof(synfig::BITMAPINFOHEADER), file)!=sizeof(synfig::BITMAPINFOHEADER))
+	if(!stream->read_whole_block(&infoheader, sizeof(synfig::BITMAP::INFOHEADER)))
 	{
-		String str("bmp_mptr::get_frame(): "+strprintf(_("Failure while reading BITMAPINFOHEADER from %s"),filename.c_str()));
+		String str("bmp_mptr::get_frame(): "+strprintf(_("Failure while reading BITMAP::INFOHEADER from %s"),identifier.filename.c_str()));
 		if(cb)cb->error(str);
 		else synfig::error(str);
 		return false;
@@ -163,17 +164,17 @@ bmp_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc
 
 	int offset=little_endian(fileheader.bfOffsetBits);
 
-	if(offset!=sizeof(synfig::BITMAPFILEHEADER)+sizeof(synfig::BITMAPINFOHEADER)-2)
+	if(offset!=sizeof(synfig::BITMAP::FILEHEADER)+sizeof(synfig::BITMAP::INFOHEADER))
 	{
-		String str("bmp_mptr::get_frame(): "+strprintf(_("Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"),filename.c_str(),offset,sizeof(synfig::BITMAPFILEHEADER)+sizeof(synfig::BITMAPINFOHEADER)-2));
+		String str("bmp_mptr::get_frame(): "+strprintf(_("Bad BITMAP::FILEHEADER in %s. (bfOffsetBits=%d, should be %d)"),identifier.filename.c_str(),offset,sizeof(synfig::BITMAP::FILEHEADER)+sizeof(synfig::BITMAP::INFOHEADER)));
 		if(cb)cb->error(str);
 		else synfig::error(str);
 		return false;
 	}
 
-	if(little_endian(infoheader.biSize)!=little_endian(40))
+	if(little_endian(infoheader.biSize)!=sizeof(synfig::BITMAP::INFOHEADER))
 	{
-		String str("bmp_mptr::get_frame(): "+strprintf(_("Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"),filename.c_str(),little_endian(infoheader.biSize)));
+		String str("bmp_mptr::get_frame(): "+strprintf(_("Bad BITMAP::INFOHEADER in %s. (biSize=%d, should be %d)"),identifier.filename.c_str(),little_endian(infoheader.biSize),sizeof(synfig::BITMAP::INFOHEADER)));
 		if(cb)cb->error(str);
 		else synfig::error(str);
 		return false;
@@ -209,12 +210,12 @@ bmp_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc
 	for(y=0;y<surface.get_h();y++)
 		for(x=0;x<surface.get_w();x++)
 		{
-//			float b=(float)(unsigned char)fgetc(file)*(1.0/255.0);
-//			float g=(float)(unsigned char)fgetc(file)*(1.0/255.0);
-//			float r=(float)(unsigned char)fgetc(file)*(1.0/255.0);
-			float b=gamma().b_U8_to_F32((unsigned char)fgetc(file));
-			float g=gamma().g_U8_to_F32((unsigned char)fgetc(file));
-			float r=gamma().r_U8_to_F32((unsigned char)fgetc(file));
+//			float b=(float)(unsigned char)stream->getc()*(1.0/255.0);
+//			float g=(float)(unsigned char)stream->getc()*(1.0/255.0);
+//			float r=(float)(unsigned char)stream->getc()*(1.0/255.0);
+			float b=gamma().b_U8_to_F32((unsigned char)stream->get());
+			float g=gamma().g_U8_to_F32((unsigned char)stream->get());
+			float r=gamma().r_U8_to_F32((unsigned char)stream->get());
 
 			surface[h-y-1][x]=Color(
 				r,
@@ -223,11 +224,10 @@ bmp_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc
 				1.0
 			);
 			if(bit_count==32)
-				fgetc(file);
+				stream->get();
 		}
 
 
-	fclose(file);
 	return true;
 }
 
diff --git a/src/modules/mod_bmp/mptr_bmp.h b/src/modules/mod_bmp/mptr_bmp.h
index 3833ef0..2419eb9 100644
--- a/src/modules/mod_bmp/mptr_bmp.h
+++ b/src/modules/mod_bmp/mptr_bmp.h
@@ -42,15 +42,9 @@
 
 class bmp_mptr : public synfig::Importer
 {
-SYNFIG_IMPORTER_MODULE_EXT
-
-private:
-	synfig::String filename;
+SYNFIG_IMPORTER_MODULE_DECLARATIONS(bmp_mptr)
 
 public:
-	bmp_mptr(const char *filename);
-	~bmp_mptr();
-
 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
 };
 
diff --git a/src/modules/mod_bmp/trgt_bmp.cpp b/src/modules/mod_bmp/trgt_bmp.cpp
index 004cec0..43d56c1 100644
--- a/src/modules/mod_bmp/trgt_bmp.cpp
+++ b/src/modules/mod_bmp/trgt_bmp.cpp
@@ -108,13 +108,16 @@ inline short little_endian_short(const short &x)
 #define little_endian_short(x)	(x)
 #endif
 
-bmp::bmp(const char *Filename, const synfig::TargetParam& params)
+bmp::bmp(const char *Filename, const synfig::TargetParam& params):
+	rowspan(),
+	imagecount(),
+	multi_image(false),
+	file(NULL),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	pf()
 {
-	file=NULL;
-	filename=Filename;
-	multi_image=false;
-	buffer=0;
-	color_buffer=0;
 	set_alpha_mode(TARGET_ALPHA_MODE_FILL);
 	sequence_separator=params.sequence_separator;
 }
diff --git a/src/modules/mod_dv/Makefile.in b/src/modules/mod_dv/Makefile.in
index b803dd4..4c90d70 100644
--- a/src/modules/mod_dv/Makefile.in
+++ b/src/modules/mod_dv/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -235,9 +238,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -269,6 +275,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -306,6 +316,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -323,6 +334,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_dv/trgt_dv.cpp b/src/modules/mod_dv/trgt_dv.cpp
index c46ec69..4d85cc3 100644
--- a/src/modules/mod_dv/trgt_dv.cpp
+++ b/src/modules/mod_dv/trgt_dv.cpp
@@ -78,15 +78,15 @@ SYNFIG_TARGET_SET_CVS_ID(dv_trgt,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 
-dv_trgt::dv_trgt(const char *Filename,
-				 const synfig::TargetParam& /* params */)
+dv_trgt::dv_trgt(const char *Filename, const synfig::TargetParam & /* params */):
+	pid(-1),
+	imagecount(0),
+	wide_aspect(false),
+	file(NULL),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL)
 {
-	pid=-1;
-	file=NULL;
-	filename=Filename;
-	buffer=NULL;
-	wide_aspect=false;
-	color_buffer=0;
 	set_alpha_mode(TARGET_ALPHA_MODE_FILL);
 }
 
@@ -143,7 +143,7 @@ dv_trgt::set_rend_desc(RendDesc *given_desc)
 }
 
 bool
-dv_trgt::init()
+dv_trgt::init(synfig::ProgressCallback *cb)
 {
 	imagecount=desc.get_frame_start();
 
diff --git a/src/modules/mod_dv/trgt_dv.h b/src/modules/mod_dv/trgt_dv.h
index 7cb544c..54718d5 100644
--- a/src/modules/mod_dv/trgt_dv.h
+++ b/src/modules/mod_dv/trgt_dv.h
@@ -59,7 +59,7 @@ public:
 
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
 
diff --git a/src/modules/mod_example/Makefile.in b/src/modules/mod_example/Makefile.in
index e64b633..02b46fe 100644
--- a/src/modules/mod_example/Makefile.in
+++ b/src/modules/mod_example/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -234,9 +237,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -268,6 +274,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -305,6 +315,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -322,6 +333,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_example/filledrect.cpp b/src/modules/mod_example/filledrect.cpp
index 4781f53..995998e 100644
--- a/src/modules/mod_example/filledrect.cpp
+++ b/src/modules/mod_example/filledrect.cpp
@@ -371,6 +371,8 @@ FilledRect::get_color(Context context, const Point &pos)const
 bool
 FilledRect::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Point point1=param_point1.get(Point());
 	Point point2=param_point2.get(Point());
 
diff --git a/src/modules/mod_example/metaballs.cpp b/src/modules/mod_example/metaballs.cpp
index 15e4456..ca7d335 100644
--- a/src/modules/mod_example/metaballs.cpp
+++ b/src/modules/mod_example/metaballs.cpp
@@ -81,9 +81,9 @@ Metaballs::Metaballs():
 	centers.push_back(Point( 0, -1.5));	radii.push_back(2.5);	weights.push_back(1);
 	centers.push_back(Point(-2,  1));	radii.push_back(2.5);	weights.push_back(1);
 	centers.push_back(Point( 2,  1));	radii.push_back(2.5);	weights.push_back(1);
-	param_centers.set(centers);
-	param_radii.set(radii);
-	param_weights.set(weights);
+	param_centers.set_list_of(centers);
+	param_radii.set_list_of(radii);
+	param_weights.set_list_of(weights);
 	
 	SET_INTERPOLATION_DEFAULTS();
 	SET_STATIC_DEFAULTS();
@@ -200,9 +200,9 @@ Metaballs::densityfunc(const synfig::Point &p, const synfig::Point &c, Real R)co
 Real
 Metaballs::totaldensity(const Point &pos)const
 {
-	std::vector<synfig::Point> centers(param_centers.get_list().begin(),param_centers.get_list().end());
-	std::vector<synfig::Real> radii(param_radii.get_list().begin(),param_radii.get_list().end());
-	std::vector<synfig::Real> weights(param_weights.get_list().begin(),param_weights.get_list().end());
+	std::vector<synfig::Point> centers(param_centers.get_list_of(synfig::Point()));
+	std::vector<synfig::Real> radii(param_radii.get_list_of(synfig::Real()));
+	std::vector<synfig::Real> weights(param_weights.get_list_of(synfig::Real()));
 	synfig::Real threshold=param_threshold.get(Real());
 	synfig::Real threshold2=param_threshold2.get(Real());
 
@@ -239,10 +239,12 @@ Metaballs::get_cairocolor(Context context, const Point &pos)const
 bool
 Metaballs::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Gradient gradient=param_gradient.get(Gradient());
 	
 	// Width and Height of a pixel
-	const Point br(renddesc.get_br()), tl(renddesc.get_tl());
+	const Point /*br(renddesc.get_br()),*/ tl(renddesc.get_tl());
 	const int 	 w(renddesc.get_w()), 	h(renddesc.get_h());
 	const Real	pw(renddesc.get_pw()), ph(renddesc.get_ph());
 
diff --git a/src/modules/mod_example/simplecircle.cpp b/src/modules/mod_example/simplecircle.cpp
index 9038b13..6d2eadf 100644
--- a/src/modules/mod_example/simplecircle.cpp
+++ b/src/modules/mod_example/simplecircle.cpp
@@ -157,6 +157,8 @@ SimpleCircle::hit_check(synfig::Context context, const synfig::Point &pos)const
 bool
 SimpleCircle::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 	{
 		// Mark our progress as starting
diff --git a/src/modules/mod_ffmpeg/Makefile.in b/src/modules/mod_ffmpeg/Makefile.in
index a27e32e..ed17a22 100644
--- a/src/modules/mod_ffmpeg/Makefile.in
+++ b/src/modules/mod_ffmpeg/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -239,9 +242,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -273,6 +279,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -310,6 +320,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -327,6 +338,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp b/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
index d486436..fd54554 100644
--- a/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
+++ b/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
@@ -34,7 +34,7 @@
 
 #include <ETL/stringf>
 #include "mptr_ffmpeg.h"
-#include <stdio.h>
+#include <cstdio>
 #include <sys/types.h>
 #include <synfig/general.h>
 #if HAVE_SYS_WAIT_H
@@ -75,6 +75,7 @@ SYNFIG_IMPORTER_SET_NAME(ffmpeg_mptr,"ffmpeg");
 SYNFIG_IMPORTER_SET_EXT(ffmpeg_mptr,"avi");
 SYNFIG_IMPORTER_SET_VERSION(ffmpeg_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(ffmpeg_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(ffmpeg_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
@@ -108,7 +109,7 @@ ffmpeg_mptr::seek_to(int frame)
 			binary_path = etl::dirname(binary_path)+ETL_DIRECTORY_SEPARATOR;
 		binary_path += "ffmpeg.exe";
 
-		command=strprintf("\"%s\" -ss 00:00:00.%d -i \"%s\" -an -f image2pipe -vcodec ppm -\n",binary_path.c_str(),frame,filename.c_str());
+		command=strprintf("\"%s\" -ss 00:00:00.%d -i \"%s\" -an -f image2pipe -vcodec ppm -\n",binary_path.c_str(),frame,identifier.filename.c_str());
 		
 		// This covers the dumb cmd.exe behavior.
 		// See: http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
@@ -144,7 +145,7 @@ ffmpeg_mptr::seek_to(int frame)
 			// Close the unneeded pipein
 			close(p[1]);
 			string time = strprintf("00:00:00.%d",frame);
-			execlp("ffmpeg", "ffmpeg", "-ss", time.c_str(), "-i", filename.c_str(), "-an", "-f", "image2pipe", "-vcodec", "ppm", "-", (const char *)NULL);
+			execlp("ffmpeg", "ffmpeg", "-ss", time.c_str(), "-i", identifier.filename.c_str(), "-an", "-f", "image2pipe", "-vcodec", "ppm", "-", (const char *)NULL);
 			// We should never reach here unless the exec failed
 			cerr<<"Unable to open pipe to ffmpeg (exec failed)"<<endl;
 			_exit(1);
@@ -182,7 +183,7 @@ ffmpeg_mptr::grab_frame(void)
 {
 	if(!file)
 	{
-		cerr<<"unable to open "<<filename.c_str()<<endl;
+		cerr<<"unable to open "<<identifier.filename.c_str()<<endl;
 		return false;
 	}
 	int w,h;
@@ -238,13 +239,13 @@ ffmpeg_mptr::grab_frame(void)
 	return true;
 }
 
-ffmpeg_mptr::ffmpeg_mptr(const char *f)
+ffmpeg_mptr::ffmpeg_mptr(const synfig::FileSystem::Identifier &identifier):
+	synfig::Importer(identifier)
 {
 	pid=-1;
 #ifdef HAVE_TERMIOS_H
 	tcgetattr (0, &oldtty);
 #endif
-	filename=f;
 	file=NULL;
 	fps=23.98;
 	cur_frame=-1;
diff --git a/src/modules/mod_ffmpeg/mptr_ffmpeg.h b/src/modules/mod_ffmpeg/mptr_ffmpeg.h
index ccf09e8..95eded5 100644
--- a/src/modules/mod_ffmpeg/mptr_ffmpeg.h
+++ b/src/modules/mod_ffmpeg/mptr_ffmpeg.h
@@ -31,7 +31,7 @@
 
 #include <synfig/importer.h>
 #include <sys/types.h>
-#include <stdio.h>
+#include <cstdio>
 #include "string.h"
 #ifdef HAVE_TERMIOS_H
 #include <termios.h>
@@ -51,7 +51,6 @@ class ffmpeg_mptr : public synfig::Importer
 public:
 private:
 	pid_t pid;
-	synfig::String filename;
 	FILE *file;
 	int cur_frame;
 	synfig::Surface frame;
@@ -64,7 +63,7 @@ private:
 	bool grab_frame(void);
 
 public:
-	ffmpeg_mptr(const char *filename);
+	ffmpeg_mptr(const synfig::FileSystem::Identifier &identifier);
 	~ffmpeg_mptr();
 
 	virtual bool is_animated();
diff --git a/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp b/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
index e388fac..233282d 100644
--- a/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
+++ b/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
@@ -78,15 +78,16 @@ SYNFIG_TARGET_SET_CVS_ID(ffmpeg_trgt,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-ffmpeg_trgt::ffmpeg_trgt(const char *Filename,
-						 const synfig::TargetParam& params)
+ffmpeg_trgt::ffmpeg_trgt(const char *Filename, const synfig::TargetParam &params):
+	pid(-1),
+	imagecount(0),
+	multi_image(false),
+	file(NULL),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	bitrate()
 {
-	pid=-1;
-	file=NULL;
-	filename=Filename;
-	multi_image=false;
-	buffer=NULL;
-	color_buffer=0;
 	set_alpha_mode(TARGET_ALPHA_MODE_FILL);
 
 	// Set default video codec and bitrate if they weren't given.
@@ -225,11 +226,11 @@ ffmpeg_trgt::init(ProgressCallback *cb=NULL)
 	vargs.push_back("image2pipe");
 	vargs.push_back("-vcodec");
 	vargs.push_back("ppm");
-	vargs.push_back("-an");
 	vargs.push_back("-r");
 	vargs.push_back(strprintf("%f", desc.get_frame_rate()));
 	vargs.push_back("-i");
 	vargs.push_back("pipe:");
+	vargs.push_back("-an");
 	vargs.push_back("-metadata");
 	vargs.push_back(strprintf("title=\"%s\"", get_canvas()->get_name().c_str()));
 	vargs.push_back("-vcodec");
@@ -248,7 +249,12 @@ ffmpeg_trgt::init(ProgressCallback *cb=NULL)
 	// We need "--" to separate filename from arguments (for the case when filename starts with "-")
 	if ( filename.substr(0,1) == "-" )
 		vargs.push_back("--"); 
+
+#if defined(WIN32_PIPE_TO_PROCESSES)
+	vargs.push_back("\"" + filename + "\"");
+#else
 	vargs.push_back(filename);
+#endif
 
 #if defined(WIN32_PIPE_TO_PROCESSES)
 
diff --git a/src/modules/mod_filter/Makefile.in b/src/modules/mod_filter/Makefile.in
index 2d8aabf..9d981a6 100644
--- a/src/modules/mod_filter/Makefile.in
+++ b/src/modules/mod_filter/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -236,9 +239,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -270,6 +276,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -307,6 +317,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -324,6 +335,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_filter/blur.cpp b/src/modules/mod_filter/blur.cpp
index 8d03595..91fa08a 100644
--- a/src/modules/mod_filter/blur.cpp
+++ b/src/modules/mod_filter/blur.cpp
@@ -135,6 +135,8 @@ Blur_Layer::get_color(Context context, const Point &pos)const
 bool
 Blur_Layer::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	synfig::Point size=param_size.get(Point());
 	int type=param_type.get(int());
 
diff --git a/src/modules/mod_filter/colorcorrect.cpp b/src/modules/mod_filter/colorcorrect.cpp
index 7d4b1a3..38d7de1 100644
--- a/src/modules/mod_filter/colorcorrect.cpp
+++ b/src/modules/mod_filter/colorcorrect.cpp
@@ -245,6 +245,8 @@ Layer_ColorCorrect::get_color(Context context, const Point &pos)const
 bool
 Layer_ColorCorrect::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
diff --git a/src/modules/mod_filter/halftone2.cpp b/src/modules/mod_filter/halftone2.cpp
index f578c31..33a4996 100644
--- a/src/modules/mod_filter/halftone2.cpp
+++ b/src/modules/mod_filter/halftone2.cpp
@@ -198,6 +198,8 @@ Halftone2::get_color(Context context, const Point &point)const
 bool
 Halftone2::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
@@ -351,4 +353,4 @@ Halftone2::accelerated_cairorender(Context context,cairo_t *cr,int quality, cons
 	return true;
 }
 
-///
\ No newline at end of file
+///
diff --git a/src/modules/mod_filter/halftone3.cpp b/src/modules/mod_filter/halftone3.cpp
index ed0f7a1..6fd8084 100644
--- a/src/modules/mod_filter/halftone3.cpp
+++ b/src/modules/mod_filter/halftone3.cpp
@@ -376,6 +376,8 @@ Halftone3::get_color(Context context, const Point &point)const
 bool
 Halftone3::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
diff --git a/src/modules/mod_filter/lumakey.cpp b/src/modules/mod_filter/lumakey.cpp
index c92c488..281a882 100644
--- a/src/modules/mod_filter/lumakey.cpp
+++ b/src/modules/mod_filter/lumakey.cpp
@@ -136,6 +136,8 @@ LumaKey::get_color(Context context, const Point &getpos)const
 bool
 LumaKey::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
diff --git a/src/modules/mod_filter/lumakey.h b/src/modules/mod_filter/lumakey.h
index 8dca842..2fc344e 100644
--- a/src/modules/mod_filter/lumakey.h
+++ b/src/modules/mod_filter/lumakey.h
@@ -62,6 +62,7 @@ public:
 	virtual Vocab get_param_vocab()const;
 
 	Layer::Handle hit_check(Context context, const Point &point)const;
+	using Layer::get_bounding_rect;
 	virtual Rect get_bounding_rect(Context context)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
diff --git a/src/modules/mod_filter/radialblur.cpp b/src/modules/mod_filter/radialblur.cpp
index 366cb26..3a3e041 100644
--- a/src/modules/mod_filter/radialblur.cpp
+++ b/src/modules/mod_filter/radialblur.cpp
@@ -134,6 +134,8 @@ RadialBlur::get_color(Context context, const Point &p)const
 bool
 RadialBlur::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Vector origin=param_origin.get(Vector());
 	Real size=param_size.get(Real());
 	bool fade_out=param_fade_out.get(bool());
diff --git a/src/modules/mod_geometry/Makefile.in b/src/modules/mod_geometry/Makefile.in
index 7147b81..3cc158f 100644
--- a/src/modules/mod_geometry/Makefile.in
+++ b/src/modules/mod_geometry/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -237,9 +240,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -271,6 +277,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -308,6 +318,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -325,6 +336,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_geometry/advanced_outline.cpp b/src/modules/mod_geometry/advanced_outline.cpp
index efada81..0e43945 100644
--- a/src/modules/mod_geometry/advanced_outline.cpp
+++ b/src/modules/mod_geometry/advanced_outline.cpp
@@ -103,7 +103,7 @@ param_dilist(ValueBase(std::vector<synfig::DashItem>()))
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	param_bline.set(bline_point_list);
+	param_bline.set_list_of(bline_point_list);
 	
 	vector<WidthPoint> wpoint_list;
 	wpoint_list.push_back(WidthPoint());
@@ -114,11 +114,11 @@ param_dilist(ValueBase(std::vector<synfig::DashItem>()))
 	wpoint_list[1].set_width(1.0);
 	wpoint_list[0].set_side_type_before(WidthPoint::TYPE_INTERPOLATE);
 	wpoint_list[1].set_side_type_after(WidthPoint::TYPE_INTERPOLATE);
-	param_wplist.set(wpoint_list);
+	param_wplist.set_list_of(wpoint_list);
 	
 	vector<DashItem> ditem_list;
 	ditem_list.push_back(DashItem());
-	param_dilist.set(ditem_list);
+	param_dilist.set_list_of(ditem_list);
 	
 	SET_INTERPOLATION_DEFAULTS();
 	SET_STATIC_DEFAULTS();
@@ -155,21 +155,21 @@ Advanced_Outline::sync()
 	try
 	{
 		// The list of blinepoints
-		vector<BLinePoint> bline(bline_.get_list().begin(),bline_.get_list().end());
+		vector<BLinePoint> bline(bline_.get_list_of(BLinePoint()));
 		// The list of blinepoints standard and homogeneous positions
 		vector<Real> bline_pos, hbline_pos;
 		// This is the list of widthpoints coming form the WPList
 		// Notice that wplist will contain the dash items if applicable
 		// and some of the widthpoints are removed when lies on empty space of the
 		// dash items.
-		vector<WidthPoint> wplist(wplist_.get_list().begin(), wplist_.get_list().end());
+		vector<WidthPoint> wplist(wplist_.get_list_of(WidthPoint()));
 		// This is the same than wplist but with standard positions.
 		vector<WidthPoint> swplist;
 		// This is a copy of wplist without dash items and with all the original widthpoints
 		// standard and homogeneous ones
 		vector<WidthPoint> cwplist,scwplist;
 		// This is the list of dash items
-		vector<DashItem> dilist(dilist_.get_list().begin(), dilist_.get_list().end());
+		vector<DashItem> dilist(dilist_.get_list_of(DashItem()));
 		// This is the list of widthpoints created for the dashed outlines
 		vector<WidthPoint> dwplist;
 		// This is the temporarly filtered (removed unused) list of dash widthpoints
@@ -679,7 +679,7 @@ Advanced_Outline::sync()
 			Vector next_t(bnext->get_tangent1());
 			Real iter_t_mag(iter_t.mag());
 			Real next_t_mag(next_t.mag());
-			bool split_flag(biter->get_split_tangent_flag() || (iter_t_mag==0.0));
+			bool split_flag(biter->get_split_tangent_angle() || biter->get_tangent1().mag()==0 || biter->get_tangent2().mag()==0);
 			// Setup the bezier curve
 			hermite<Vector> curve(
 				biter->get_vertex(),
@@ -764,8 +764,8 @@ Advanced_Outline::sync()
 					cwiter=--cwplist.end();
 					scwnext=scwplist.begin();
 					scwiter=--scwplist.end();
-					// if we are doing looped blines and it is tangent split or its tangent is zero
-					if(blineloop && (bnext->get_split_tangent_flag()|| bnext->get_tangent1().mag()==0.0))
+					// if we are doing looped blines and it is tangent split or one of its tangents is zero
+					if(blineloop && (bnext->get_split_tangent_angle()|| bnext->get_tangent1().mag()==0.0 || bnext->get_tangent2().mag()==0.0))
 					{
 						vector<WidthPoint>::iterator first(wplist.begin());
 						vector<WidthPoint>::iterator last(--wplist.end());
@@ -1064,8 +1064,8 @@ Advanced_Outline::set_param(const String & param, const ValueBase &value)
 	IMPORT_VALUE(param_expand);
 	IMPORT_VALUE_PLUS(param_smoothness,
 		{
-			if(value > 1.0) param_smoothness.set(Real(1.0));
-			else if(value < 0.0) param_smoothness.set(Real(0.0));
+			if(value.get(Real()) > 1.0) param_smoothness.set(Real(1.0));
+			else if(value.get(Real()) < 0.0) param_smoothness.set(Real(0.0));
 		}
 	);
 	IMPORT_VALUE(param_homogeneous);
@@ -1253,11 +1253,11 @@ Advanced_Outline::connect_dynamic_param(const String& param, etl::loose_handle<V
 bool
 Advanced_Outline::connect_bline_to_wplist(etl::loose_handle<ValueNode> x)
 {
-	if(x->get_type() != ValueBase::TYPE_LIST)
+	if(x->get_type() != type_list)
 		return false;
 	if((*x)(Time(0)).empty())
 		return false;
-	if((*x)(Time(0)).get_list().front().get_type() != ValueBase::TYPE_BLINEPOINT)
+	if((*x)(Time(0)).get_list().front().get_type() != type_bline_point)
 		return false;
 	ValueNode::LooseHandle vnode;
 	DynamicParamList::const_iterator iter(dynamic_param_list().find("wplist"));
@@ -1273,11 +1273,11 @@ Advanced_Outline::connect_bline_to_wplist(etl::loose_handle<ValueNode> x)
 bool
 Advanced_Outline::connect_bline_to_dilist(etl::loose_handle<ValueNode> x)
 {
-	if(x->get_type() != ValueBase::TYPE_LIST)
+	if(x->get_type() != type_list)
 		return false;
 	if((*x)(Time(0)).empty())
 		return false;
-	if((*x)(Time(0)).get_list().front().get_type() != ValueBase::TYPE_BLINEPOINT)
+	if((*x)(Time(0)).get_list().front().get_type() != type_bline_point)
 		return false;
 	ValueNode::LooseHandle vnode;
 	DynamicParamList::const_iterator iter(dynamic_param_list().find("dilist"));
diff --git a/src/modules/mod_geometry/advanced_outline.h b/src/modules/mod_geometry/advanced_outline.h
index 2c5474c..9395d3d 100644
--- a/src/modules/mod_geometry/advanced_outline.h
+++ b/src/modules/mod_geometry/advanced_outline.h
@@ -91,6 +91,7 @@ public:
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	virtual ValueBase get_param(const String & param)const;
 	virtual Vocab get_param_vocab()const;
+	using Layer::set_time;
 	virtual void set_time(IndependentContext context, Time time)const;
 	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 	virtual bool set_version(const synfig::String &ver);
diff --git a/src/modules/mod_geometry/checkerboard.cpp b/src/modules/mod_geometry/checkerboard.cpp
index 7b099f3..0d061fe 100644
--- a/src/modules/mod_geometry/checkerboard.cpp
+++ b/src/modules/mod_geometry/checkerboard.cpp
@@ -114,7 +114,7 @@ CheckerBoard::set_param(const String &param, const ValueBase &value)
 		return set_param("origin", value);
 
 	for(int i=0;i<2;i++)
-		if(param==strprintf("pos[%d]",i) && value.get_type()==ValueBase::TYPE_REAL)
+		if(param==strprintf("pos[%d]",i) && value.get_type()==type_real)
 		{
 			Point p=param_origin.get(Point());
 			p[i]=value.get(Real());
@@ -194,6 +194,8 @@ CheckerBoard::get_color(Context context, const Point &getpos)const
 bool
 CheckerBoard::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Color color=param_color.get(Color());
 
 	SuperCallback supercb(cb,0,9500,10000);
diff --git a/src/modules/mod_geometry/circle.cpp b/src/modules/mod_geometry/circle.cpp
index a09a00d..c6f70a2 100644
--- a/src/modules/mod_geometry/circle.cpp
+++ b/src/modules/mod_geometry/circle.cpp
@@ -67,7 +67,7 @@ Circle::Circle():
 	param_radius    (Real(1)),
 	param_feather   (Real(0)),
 	param_invert    (bool(false)),
-	param_falloff   (FALLOFF_INTERPOLATION_LINEAR)
+	param_falloff   ((int)FALLOFF_INTERPOLATION_LINEAR)
 {
 	constructcache();
 	SET_INTERPOLATION_DEFAULTS();
@@ -453,6 +453,8 @@ Circle::get_color(Context context, const Point &point)const
 bool
 Circle::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Real radius = param_radius.get(Real());
 	Real feather = param_feather.get(Real());
 	Point origin = param_origin.get(Point());
diff --git a/src/modules/mod_geometry/outline.cpp b/src/modules/mod_geometry/outline.cpp
index a7dc675..357d9ec 100644
--- a/src/modules/mod_geometry/outline.cpp
+++ b/src/modules/mod_geometry/outline.cpp
@@ -160,7 +160,7 @@ Outline::Outline()
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	param_bline.set(bline_point_list);
+	param_bline.set_list_of(bline_point_list);
 
 	needs_sync=true;
 	
@@ -199,13 +199,13 @@ Outline::sync()
 	const bool loop(bline.get_loop());
 
 	ValueNode_BLine::Handle bline_valuenode;
-	if (bline.get_contained_type() == ValueBase::TYPE_SEGMENT)
+	if (bline.get_contained_type() == type_segment)
 	{
 		bline_valuenode = ValueNode_BLine::create(bline);
 		bline = (*bline_valuenode)(0);
 	}
 
-	const vector<synfig::BLinePoint> bline_(bline.get_list().begin(),bline.get_list().end());
+	const vector<synfig::BLinePoint> bline_(bline.get_list_of(synfig::BLinePoint()));
 #define bline bline_
 
 	vector<BLinePoint>::const_iterator
@@ -248,7 +248,7 @@ Outline::sync()
 		Vector iter_t(iter->get_tangent2());
 		Vector next_t(next->get_tangent1());
 
-		bool split_flag(iter->get_split_tangent_flag());
+		bool split_flag(iter->get_split_tangent_angle() || iter->get_split_tangent_radius());
 
 		// if iter.t2 == 0 and next.t1 == 0, this is a straight line
 		if(iter_t.is_equal_to(Vector::zero()) && next_t.is_equal_to(Vector::zero()))
@@ -416,7 +416,7 @@ Outline::sync()
 #else /* 1 */
 
 	bool loop_;
-	if(bline.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
+	if(bline.get_contained_type()==type_bline_point)
 	{
 		ValueBase value(bline);
 
@@ -701,9 +701,9 @@ Outline::set_param(const String & param, const ValueBase &value)
 			synfig::warning("Outline::set_param(): The parameter \"segment_list\" is deprecated. Use \"bline\" instead.");
 	}
 
-	if(	(param=="segment_list" || param=="bline") && value.get_type()==ValueBase::TYPE_LIST)
+	if(	(param=="segment_list" || param=="bline") && value.get_type()==type_list)
 	{
-		//if(value.get_contained_type()!=ValueBase::TYPE_BLINEPOINT)
+		//if(value.get_contained_type()!=type_bline_point)
 		//	return false;
 
 		param_bline=value;
@@ -711,7 +711,7 @@ Outline::set_param(const String & param, const ValueBase &value)
 		return true;
 	}
 	/*
-	if(	param=="seg" && value.get_type()==ValueBase::TYPE_SEGMENT)
+	if(	param=="seg" && value.get_type()==type_segment)
 	{
 		if(!segment_list.empty())
 			segment_list.clear();
@@ -721,7 +721,7 @@ Outline::set_param(const String & param, const ValueBase &value)
 		//sync();
 		return true;
 	}
-	if(	param=="w[0]" && value.get_type()==ValueBase::TYPE_REAL)
+	if(	param=="w[0]" && value.get_type()==type_real)
 	{
 		if(width_list.size()<2)
 		{
@@ -737,7 +737,7 @@ Outline::set_param(const String & param, const ValueBase &value)
 		return true;
 	}
 
-	if(	param=="w[1]" && value.get_type()==ValueBase::TYPE_REAL)
+	if(	param=="w[1]" && value.get_type()==type_real)
 	{
 		if(width_list.size()<2)
 		{
diff --git a/src/modules/mod_geometry/outline.h b/src/modules/mod_geometry/outline.h
index c40c6f1..e93c2cd 100644
--- a/src/modules/mod_geometry/outline.h
+++ b/src/modules/mod_geometry/outline.h
@@ -85,6 +85,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
+	using Layer::set_time;
 	virtual void set_time(IndependentContext context, Time time)const;
 	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 	virtual bool set_version(const String &ver){if(ver=="0.1")old_version=true; return true;}
diff --git a/src/modules/mod_geometry/rectangle.cpp b/src/modules/mod_geometry/rectangle.cpp
index c0143bd..68cab3e 100644
--- a/src/modules/mod_geometry/rectangle.cpp
+++ b/src/modules/mod_geometry/rectangle.cpp
@@ -331,6 +331,8 @@ Rectangle::get_color(Context context, const Point &pos)const
 bool
 Rectangle::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Color color=param_color.get(Color());
 	Point point1=param_point1.get(Point());
 	Point point2=param_point2.get(Point());
diff --git a/src/modules/mod_geometry/region.cpp b/src/modules/mod_geometry/region.cpp
index af4cbfd..5d8d8eb 100644
--- a/src/modules/mod_geometry/region.cpp
+++ b/src/modules/mod_geometry/region.cpp
@@ -88,7 +88,7 @@ Region::Region()
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	param_bline.set(bline_point_list);
+	param_bline.set_list_of(bline_point_list);
 
 	SET_INTERPOLATION_DEFAULTS();
 	SET_STATIC_DEFAULTS();
@@ -99,10 +99,10 @@ Region::sync()
 {
 	ValueBase bline=param_bline;
 	
-	if(bline.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
-		segment_list=convert_bline_to_segment_list(bline);
-	else if(bline.get_contained_type()==ValueBase::TYPE_SEGMENT)
-		segment_list=vector<synfig::Segment>(bline.get_list().begin(), bline.get_list().end());
+	if(bline.get_contained_type()==type_bline_point)
+		segment_list=convert_bline_to_segment_list(bline).get_list_of(synfig::Segment());
+	else if(bline.get_contained_type()==type_segment)
+		segment_list=vector<synfig::Segment>(bline.get_list_of(synfig::Segment()));
 	else
 	{
 		synfig::warning("Region: incorrect type on bline, layer disabled");
@@ -190,9 +190,9 @@ Region::set_param(const String & param, const ValueBase &value)
 			synfig::warning("Region::set_param(): The parameter \"segment_list\" is deprecated. Use \"bline\" instead.");
 	}
 
-	if(	(param=="segment_list" || param=="bline") && value.get_type()==ValueBase::TYPE_LIST)
+	if(	(param=="segment_list" || param=="bline") && value.get_type()==type_list)
 	{
-		//if(value.get_contained_type()!=ValueBase::TYPE_BLINEPOINT)
+		//if(value.get_contained_type()!=type_bline_point)
 		//	return false;
 
 		param_bline=value;
@@ -200,12 +200,12 @@ Region::set_param(const String & param, const ValueBase &value)
 		return true;
 	}
 
-/*	if(	param=="segment_list" && value.get_type()==ValueBase::TYPE_LIST)
+/*	if(	param=="segment_list" && value.get_type()==type_list)
 	{
-		if(value.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
+		if(value.get_contained_type()==type_bline_point)
 			segment_list=convert_bline_to_segment_list(value);
 		else
-		if(value.get_contained_type()==ValueBase::TYPE_SEGMENT)
+		if(value.get_contained_type()==type_segment)
 			segment_list=value;
 		else
 		if(value.empty())
diff --git a/src/modules/mod_geometry/region.h b/src/modules/mod_geometry/region.h
index 14f4144..0249e3d 100644
--- a/src/modules/mod_geometry/region.h
+++ b/src/modules/mod_geometry/region.h
@@ -41,7 +41,7 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-namespace synfig { class Segment; }
+namespace synfig { struct Segment; }
 
 using namespace synfig;
 using namespace std;
@@ -66,6 +66,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
+	using Layer::set_time;
 	virtual void set_time(IndependentContext context, Time time)const;
 	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 };
diff --git a/src/modules/mod_gif/Makefile.in b/src/modules/mod_gif/Makefile.in
index b0005e2..2a026f5 100644
--- a/src/modules/mod_gif/Makefile.in
+++ b/src/modules/mod_gif/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_gif/trgt_gif.cpp b/src/modules/mod_gif/trgt_gif.cpp
index 55bb3af..5c1df24 100644
--- a/src/modules/mod_gif/trgt_gif.cpp
+++ b/src/modules/mod_gif/trgt_gif.cpp
@@ -55,11 +55,19 @@ SYNFIG_TARGET_SET_CVS_ID(gif,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-gif::gif(const char *filename_, const synfig::TargetParam& /* params */):
+gif::gif(const char *filename_, const synfig::TargetParam & /* params */):
+	bs(),
 	filename(filename_),
 	file( (filename=="-")?stdout:fopen(filename_,POPEN_BINARY_WRITE_TYPE) ),
+	i(),
+	codesize(),
+	rootsize(),
+	nextcode(),
+	table(NULL),
+	next(NULL),
+	node(NULL),
 	imagecount(0),
-
+	cur_scanline(),
 	lossy(true),
 	multi_image(false),
 	dithering(true),
@@ -67,8 +75,7 @@ gif::gif(const char *filename_, const synfig::TargetParam& /* params */):
 	iframe_density(30),
 	loop_count(0x7fff),
 	local_palette(true)
-{
-}
+{ }
 
 gif::~gif()
 {
@@ -96,7 +103,7 @@ gif::set_rend_desc(RendDesc *given_desc)
 }
 
 bool
-gif::init()
+gif::init(synfig::ProgressCallback *cb)
 {
 	int w=desc.get_w(),h=desc.get_h();
 
diff --git a/src/modules/mod_gif/trgt_gif.h b/src/modules/mod_gif/trgt_gif.h
index fa90efd..ce87ce9 100644
--- a/src/modules/mod_gif/trgt_gif.h
+++ b/src/modules/mod_gif/trgt_gif.h
@@ -198,7 +198,7 @@ public:
 	gif(const char *filename, const synfig::TargetParam& /* params */);
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
 
diff --git a/src/modules/mod_gradient/Makefile.in b/src/modules/mod_gradient/Makefile.in
index 0e7e899..5504d45 100644
--- a/src/modules/mod_gradient/Makefile.in
+++ b/src/modules/mod_gradient/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -237,9 +240,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -271,6 +277,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -308,6 +318,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -325,6 +336,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_gradient/conicalgradient.cpp b/src/modules/mod_gradient/conicalgradient.cpp
index f0bdbb8..298d591 100644
--- a/src/modules/mod_gradient/conicalgradient.cpp
+++ b/src/modules/mod_gradient/conicalgradient.cpp
@@ -235,6 +235,8 @@ ConicalGradient::get_color(Context context, const Point &pos)const
 bool
 ConicalGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_gradient/curvegradient.cpp b/src/modules/mod_gradient/curvegradient.cpp
index 9337f14..71b786f 100644
--- a/src/modules/mod_gradient/curvegradient.cpp
+++ b/src/modules/mod_gradient/curvegradient.cpp
@@ -202,7 +202,7 @@ find_closest(bool fast, const std::vector<synfig::BLinePoint>& bline,const Point
 inline void
 CurveGradient::sync()
 {
-	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list_of(BLinePoint()));
 	curve_length_=calculate_distance(bline, bline_loop);
 }
 
@@ -232,7 +232,7 @@ CurveGradient::CurveGradient():
 	bline[1].set_width(1.0f);
 	bline[2].set_width(1.0f);
 	bline_loop=true;
-	param_bline.set(bline);
+	param_bline.set_list_of(bline);
 
 	sync();
 
@@ -245,7 +245,7 @@ CurveGradient::color_func(const Point &point_, int quality, float supersample)co
 {
 	Point origin=param_origin.get(Point());
 	Real width=param_width.get(Real());
-	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list_of(BLinePoint()));
 	Gradient gradient=param_gradient.get(Gradient());
 	bool loop=param_loop.get(bool());
 	bool zigzag=param_zigzag.get(bool());
@@ -340,7 +340,7 @@ CurveGradient::color_func(const Point &point_, int quality, float supersample)co
 
 			if (t<0.5)
 			{
-				if (iter->get_split_tangent_flag() || zero_tangent)
+				if (iter->get_split_tangent_angle() || iter->get_split_tangent_radius() || zero_tangent)
 				{
 					// fake the current tangent if we need to
 					if (zero_tangent) tangent = curve(FAKE_TANGENT_STEP) - curve(0);
@@ -366,7 +366,7 @@ CurveGradient::color_func(const Point &point_, int quality, float supersample)co
 			}
 			else
 			{
-				if (next->get_split_tangent_flag() || zero_tangent)
+				if (next->get_split_tangent_angle() || next->get_split_tangent_radius() || zero_tangent)
 				{
 					// fake the current tangent if we need to
 					if (zero_tangent) tangent = curve(1) - curve(1-FAKE_TANGENT_STEP);
@@ -504,7 +504,7 @@ CurveGradient::set_param(const String & param, const ValueBase &value)
 
 	IMPORT_VALUE(param_origin);
 	IMPORT_VALUE(param_width);
-	if(param=="bline" && value.get_type()==ValueBase::TYPE_LIST)
+	if(param=="bline" && value.get_type()==type_list)
 	{
 		param_bline=value;
 		bline_loop=value.get_loop();
@@ -571,7 +571,7 @@ CurveGradient::get_param_vocab()const
 	);
 	ret.push_back(ParamDesc("zigzag")
 				  .set_local_name(_("ZigZag"))
-				  .set_description(_("When checked the gradient is summetrical at the center"))
+				  .set_description(_("When checked the gradient is symmetrical at the center"))
 	);
 	ret.push_back(ParamDesc("perpendicular")
 				  .set_local_name(_("Perpendicular"))
@@ -598,6 +598,8 @@ CurveGradient::get_color(Context context, const Point &point)const
 bool
 CurveGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_gradient/lineargradient.cpp b/src/modules/mod_gradient/lineargradient.cpp
index d30ca84..779e971 100644
--- a/src/modules/mod_gradient/lineargradient.cpp
+++ b/src/modules/mod_gradient/lineargradient.cpp
@@ -61,14 +61,11 @@ SYNFIG_LAYER_SET_CVS_ID(LinearGradient,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 inline void
-LinearGradient::sync()
+LinearGradient::Params::calc_diff()
 {
-	Point p1=param_p1.get(Point());
-	Point p2=param_p2.get(Point());
-	
 	diff=(p2-p1);
-	const Real mag(diff.inv_mag());
-	diff*=mag*mag;
+	Real mag_squared = diff.mag_squared();
+	if (mag_squared > 0.0) diff /= mag_squared;
 }
 
 
@@ -80,62 +77,66 @@ LinearGradient::LinearGradient():
 	param_loop(ValueBase(false)),
 	param_zigzag(ValueBase(false))
 {
-	sync();
 	SET_INTERPOLATION_DEFAULTS();
 	SET_STATIC_DEFAULTS();
 }
 
+inline void
+LinearGradient::fill_params(Params &params)const
+{
+	params.p1=param_p1.get(Point());
+	params.p2=param_p2.get(Point());
+	params.gradient=param_gradient.get(Gradient());
+	params.loop=param_loop.get(bool());
+	params.zigzag=param_zigzag.get(bool());
+	params.calc_diff();
+}
+
 inline Color
-LinearGradient::color_func(const Point &point, float supersample)const
+LinearGradient::color_func(const Params &params, const Point &point, synfig::Real supersample)const
 {
-	Point p1=param_p1.get(Point());
-	Gradient gradient=param_gradient.get(Gradient());
-	bool loop=param_loop.get(bool());
-	bool zigzag=param_zigzag.get(bool());
-	
-	Real dist(point*diff-p1*diff);
+	Real dist(point*params.diff-params.p1*params.diff);
 
-	if(loop)
+	if(params.loop)
 		dist-=floor(dist);
 
-	if(zigzag)
+	if(params.zigzag)
 	{
 		dist*=2.0;
 		supersample*=2.0;
 		if(dist>1)dist=2.0-dist;
 	}
 
-	if(loop)
+	if(params.loop)
 	{
 		if(dist+supersample*0.5>1.0)
 		{
-			float  left(supersample*0.5-(dist-1.0));
-			float right(supersample*0.5+(dist-1.0));
-			Color pool(gradient(1.0-(left*0.5),left).premult_alpha()*left/supersample);
-			if (zigzag) pool+=gradient(1.0-right*0.5,right).premult_alpha()*right/supersample;
-			else		pool+=gradient(right*0.5,right).premult_alpha()*right/supersample;
+			synfig::Real  left(supersample*0.5-(dist-1.0));
+			synfig::Real right(supersample*0.5+(dist-1.0));
+			Color pool(params.gradient(1.0-(left*0.5),left).premult_alpha()*left/supersample);
+			if (params.zigzag) pool+=params.gradient(1.0-right*0.5,right).premult_alpha()*right/supersample;
+			else		       pool+=params.gradient(right*0.5,right).premult_alpha()*right/supersample;
 			return pool.demult_alpha();
 		}
 		if(dist-supersample*0.5<0.0)
 		{
-			float  left(supersample*0.5-dist);
-			float right(supersample*0.5+dist);
-			Color pool(gradient(right*0.5,right).premult_alpha()*right/supersample);
-			if (zigzag) pool+=gradient(left*0.5,left).premult_alpha()*left/supersample;
-			else		pool+=gradient(1.0-left*0.5,left).premult_alpha()*left/supersample;
+			synfig::Real  left(supersample*0.5-dist);
+			synfig::Real right(supersample*0.5+dist);
+			Color pool(params.gradient(right*0.5,right).premult_alpha()*right/supersample);
+			if (params.zigzag) pool+=params.gradient(left*0.5,left).premult_alpha()*left/supersample;
+			else		       pool+=params.gradient(1.0-left*0.5,left).premult_alpha()*left/supersample;
 			return pool.demult_alpha();
 		}
 	}
-	return gradient(dist,supersample);
+	return params.gradient(dist,supersample);
 }
 
-float
-LinearGradient::calc_supersample(const synfig::Point &/*x*/, float pw,float /*ph*/)const
+inline synfig::Real
+LinearGradient::calc_supersample(const Params &params, synfig::Real pw, synfig::Real /*ph*/)const
 {
-	Point p1=param_p1.get(Point());
-	Point p2=param_p2.get(Point());
-
-	return pw/(p2-p1).mag();
+	// it's copy of code
+	// see also other calc_supersample overload
+	return pw/(params.p2-params.p1).mag();
 }
 
 synfig::Layer::Handle
@@ -145,7 +146,11 @@ LinearGradient::hit_check(synfig::Context context, const synfig::Point &point)co
 		return const_cast<LinearGradient*>(this);
 	if(get_amount()==0.0)
 		return context.hit_check(point);
-	if((get_blend_method()==Color::BLEND_STRAIGHT || get_blend_method()==Color::BLEND_COMPOSITE) && color_func(point).get_a()>0.5)
+
+	Params params;
+	fill_params(params);
+
+	if((get_blend_method()==Color::BLEND_STRAIGHT || get_blend_method()==Color::BLEND_COMPOSITE) && color_func(params, point).get_a()>0.5)
 		return const_cast<LinearGradient*>(this);
 	return context.hit_check(point);
 }
@@ -153,8 +158,8 @@ LinearGradient::hit_check(synfig::Context context, const synfig::Point &point)co
 bool
 LinearGradient::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_VALUE_PLUS(param_p1,sync());
-	IMPORT_VALUE_PLUS(param_p2,sync());
+	IMPORT_VALUE(param_p1);
+	IMPORT_VALUE(param_p2);
 	IMPORT_VALUE(param_gradient);
 	IMPORT_VALUE(param_loop);
 	IMPORT_VALUE(param_zigzag);
@@ -200,7 +205,7 @@ LinearGradient::get_param_vocab()const
 	);
 	ret.push_back(ParamDesc("zigzag")
 		.set_local_name(_("ZigZag"))
-		.set_description(_("When checked the gradient is summetrical at the center"))
+		.set_description(_("When checked the gradient is symmetrical at the center"))
 	);
 
 	return ret;
@@ -209,7 +214,10 @@ LinearGradient::get_param_vocab()const
 Color
 LinearGradient::get_color(Context context, const Point &point)const
 {
-	const Color color(color_func(point));
+	Params params;
+	fill_params(params);
+
+	const Color color(color_func(params, point));
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 		return color;
@@ -220,6 +228,30 @@ LinearGradient::get_color(Context context, const Point &point)const
 bool
 LinearGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Params params;
+	fill_params(params);
+
+	if (!renddesc.get_transformation_matrix().is_identity())
+	{
+		Point origin = params.p1;
+		Point axis_x = params.p2 - origin;
+		Point axis_y = axis_x.perp();
+		origin = renddesc.get_transformation_matrix().get_transformed(origin);
+		axis_x = renddesc.get_transformation_matrix().get_transformed(axis_x, false);
+		axis_y = renddesc.get_transformation_matrix().get_transformed(axis_y, false);
+
+		Point valid_axis_x = -axis_y.perp();
+		Real mag_squared = valid_axis_x.mag_squared();
+		if (mag_squared > 0.0)
+			valid_axis_x *= (valid_axis_x * axis_x)/mag_squared;
+		else
+			valid_axis_x = axis_x;
+
+		params.p1 = origin;
+		params.p2 = origin + valid_axis_x;
+		params.calc_diff();
+	}
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
@@ -243,18 +275,19 @@ LinearGradient::accelerated_render(Context context,Surface *surface,int quality,
 	Point tl(renddesc.get_tl());
 	const int w(surface->get_w());
 	const int h(surface->get_h());
+	synfig::Real supersample = calc_supersample(params, pw, ph);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 	{
 		for(y=0,pos[1]=tl[1];y<h;y++,pen.inc_y(),pen.dec_x(x),pos[1]+=ph)
 			for(x=0,pos[0]=tl[0];x<w;x++,pen.inc_x(),pos[0]+=pw)
-				pen.put_value(color_func(pos,calc_supersample(pos,pw,ph)));
+				pen.put_value(color_func(params,pos,supersample));
 	}
 	else
 	{
 		for(y=0,pos[1]=tl[1];y<h;y++,pen.inc_y(),pen.dec_x(x),pos[1]+=ph)
 			for(x=0,pos[0]=tl[0];x<w;x++,pen.inc_x(),pos[0]+=pw)
-				pen.put_value(Color::blend(color_func(pos,calc_supersample(pos,pw,ph)),pen.get_value(),get_amount(),get_blend_method()));
+				pen.put_value(Color::blend(color_func(params,pos,supersample),pen.get_value(),get_amount(),get_blend_method()));
 	}
 
 	// Mark our progress as finished
@@ -311,7 +344,7 @@ LinearGradient::compile_gradient(cairo_pattern_t* pattern, Gradient mygradient)c
 	bool zigzag=param_zigzag.get(bool());
 
 	bool cpoints_all_opaque=true;
-	float a,r,g,b;
+	synfig::Real a,r,g,b;
 	Gradient::CPoint cp;
 	Gradient::const_iterator iter;
 	mygradient.sort();
diff --git a/src/modules/mod_gradient/lineargradient.h b/src/modules/mod_gradient/lineargradient.h
index 0f773ae..7aa7f91 100644
--- a/src/modules/mod_gradient/lineargradient.h
+++ b/src/modules/mod_gradient/lineargradient.h
@@ -51,7 +51,6 @@ class LinearGradient : public Layer_Composite, public Layer_NoDeform
 private:
 	//! Parameter: (Point)
 	ValueBase param_p1,param_p2;
-	Vector diff;
 	//! Parameter: (Gradient)
 	ValueBase param_gradient;
 	//! Parameter: (bool)
@@ -59,11 +58,21 @@ private:
 	//! Parameter: (bool)
 	ValueBase param_zigzag;
 
-	void sync();
+	struct Params {
+		synfig::Point p1;
+		synfig::Point p2;
+		synfig::Point diff;
+		synfig::Gradient gradient;
+		bool loop;
+		bool zigzag;
+		inline Params(): loop(false), zigzag(false) { }
+		void calc_diff();
+	};
+
+	void fill_params(Params &params)const;
+	synfig::Color color_func(const Params &params, const synfig::Point &x, synfig::Real supersample = 0.0)const;
+	synfig::Real calc_supersample(const Params &params, synfig::Real pw, synfig::Real ph)const;
 
-	synfig::Color color_func(const synfig::Point &x, float supersample=0)const;
-
-	float calc_supersample(const synfig::Point &x, float pw,float ph)const;
 	bool compile_gradient(cairo_pattern_t* pattern, Gradient gradient)const;
 
 public:
diff --git a/src/modules/mod_gradient/radialgradient.cpp b/src/modules/mod_gradient/radialgradient.cpp
index 3761c19..a847572 100644
--- a/src/modules/mod_gradient/radialgradient.cpp
+++ b/src/modules/mod_gradient/radialgradient.cpp
@@ -133,7 +133,7 @@ RadialGradient::get_param_vocab()const
 
 	ret.push_back(ParamDesc("zigzag")
 		.set_local_name(_("ZigZag"))
-		.set_description(_("When checked the gradient is summetrical at the center"))
+		.set_description(_("When checked the gradient is symmetrical at the center"))
 	);
 
 	return ret;
@@ -220,6 +220,8 @@ RadialGradient::get_color(Context context, const Point &pos)const
 bool
 RadialGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_gradient/spiralgradient.cpp b/src/modules/mod_gradient/spiralgradient.cpp
index a18bf3d..7a92343 100644
--- a/src/modules/mod_gradient/spiralgradient.cpp
+++ b/src/modules/mod_gradient/spiralgradient.cpp
@@ -219,6 +219,8 @@ SpiralGradient::get_color(Context context, const Point &pos)const
 bool
 SpiralGradient::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_imagemagick/Makefile.in b/src/modules/mod_imagemagick/Makefile.in
index 56fa7f1..077159c 100644
--- a/src/modules/mod_imagemagick/Makefile.in
+++ b/src/modules/mod_imagemagick/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -240,9 +243,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -274,6 +280,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -311,6 +321,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -328,6 +339,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_imagemagick/mptr_imagemagick.cpp b/src/modules/mod_imagemagick/mptr_imagemagick.cpp
index d1c6428..4ad660e 100644
--- a/src/modules/mod_imagemagick/mptr_imagemagick.cpp
+++ b/src/modules/mod_imagemagick/mptr_imagemagick.cpp
@@ -7,6 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007 Chris Moore
+**	Copyright (c) 2015 Jérôme Blanchi
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -34,7 +35,7 @@
 
 #include <ETL/stringf>
 #include "mptr_imagemagick.h"
-#include <stdio.h>
+#include <cstdio>
 #include <sys/types.h>
 #if HAVE_SYS_WAIT_H
  #include <sys/wait.h>
@@ -53,6 +54,7 @@
 #include <functional>
 #include <ETL/stringf>
 #include <synfig/general.h>
+#include <synfig/filesystemnative.h>
 
 #endif
 
@@ -75,16 +77,16 @@ SYNFIG_IMPORTER_SET_NAME(imagemagick_mptr,"imagemagick");
 SYNFIG_IMPORTER_SET_EXT(imagemagick_mptr,"miff");
 SYNFIG_IMPORTER_SET_VERSION(imagemagick_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(imagemagick_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(imagemagick_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
 
-imagemagick_mptr::imagemagick_mptr(const char *f)
-{
-
-	filename=f;
-	file=NULL;
-}
+imagemagick_mptr::imagemagick_mptr(const synfig::FileSystem::Identifier &identifier):
+synfig::Importer(identifier),
+file(NULL),
+cur_frame(0)
+{ }
 
 imagemagick_mptr::~imagemagick_mptr()
 {
@@ -98,13 +100,29 @@ imagemagick_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &re
 //#define HAS_LIBPNG 1
 
 #if 1
-	if(filename.empty())
+	if(identifier.filename.empty())
 	{
 		if(cb)cb->error(_("No file to load"));
 		else synfig::error(_("No file to load"));
 		return false;
 	}
 	string temp_file="/tmp/deleteme.png";
+	string temp_container_file="";
+
+	// todo: "container:" and "images" literals
+	if (identifier.filename.substr(0, String("#images/").size())=="#images/")
+	{
+		temp_container_file = "/tmp/synfigtmp.png";
+		// try to copy file to a temp file
+		if (!FileSystem::copy(identifier.file_system, identifier.filename, identifier.file_system, temp_container_file))
+		{
+			if(cb)cb->error(_("Cannot create temporary file of ")+ identifier.filename);
+			else synfig::error(_("Cannot create temporary file of ")+ identifier.filename);
+			return false;
+		}
+	}
+
+	string filename = temp_container_file.size() == 0 ? identifier.filename : temp_container_file;
 
 #if defined(WIN32_PIPE_TO_PROCESSES)
 
@@ -113,7 +131,7 @@ imagemagick_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &re
 
 	string command;
 
-	if(filename.find("psd")!=String::npos)
+	if(identifier.filename.find("psd")!=String::npos)
 		command=strprintf("convert \"%s\" -flatten \"png32:%s\"\n",filename.c_str(),temp_file.c_str());
 	else
 		command=strprintf("convert \"%s\" \"png32:%s\"\n",filename.c_str(),temp_file.c_str());
@@ -133,7 +151,7 @@ imagemagick_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &re
 
 	if (pid == 0){
 		// Child process
-		if(filename.find("psd")!=String::npos)
+		if(identifier.filename.find("psd")!=String::npos)
 			execlp("convert", "convert", filename.c_str(), "-flatten", output.c_str(), (const char *)NULL);
 		else
 			execlp("convert", "convert", filename.c_str(), output.c_str(), (const char *)NULL);
@@ -150,7 +168,11 @@ imagemagick_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &re
 	#error There are no known APIs for creating child processes
 #endif
 
-	Importer::Handle importer(Importer::open(temp_file));
+	//if any delete container tmp file
+	if(temp_container_file.size())
+		identifier.file_system->file_remove(temp_container_file);
+
+	Importer::Handle importer(Importer::open(synfig::FileSystem::Identifier(synfig::FileSystemNative::instance(), temp_file)));
 
 	if(!importer)
 	{
@@ -211,14 +233,14 @@ imagemagick_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &re
 
 	string command;
 
-	if(filename.empty())
+	if(identifier.filename.empty())
 	{
 		if(cb)cb->error(_("No file to load"));
 		else synfig::error(_("No file to load"));
 		return false;
 	}
 
-	command=strprintf("convert \"%s\" -flatten ppm:-\n",filename.c_str());
+	command=strprintf("convert \"%s\" -flatten ppm:-\n",identifier.filename.c_str());
 
 	file=popen(command.c_str(),POPEN_BINARY_READ_TYPE);
 
diff --git a/src/modules/mod_imagemagick/mptr_imagemagick.h b/src/modules/mod_imagemagick/mptr_imagemagick.h
index 8eabdbe..7f608e3 100644
--- a/src/modules/mod_imagemagick/mptr_imagemagick.h
+++ b/src/modules/mod_imagemagick/mptr_imagemagick.h
@@ -30,7 +30,7 @@
 /* === H E A D E R S ======================================================= */
 
 #include <synfig/importer.h>
-#include <stdio.h>
+#include <cstdio>
 #include "string.h"
 #include <synfig/surface.h>
 
@@ -44,13 +44,12 @@ class imagemagick_mptr : public synfig::Importer
 {
 	SYNFIG_IMPORTER_MODULE_EXT
 private:
-	synfig::String filename;
 	FILE *file;
 	int cur_frame;
 	synfig::Surface frame;
 
 public:
-	imagemagick_mptr(const char *filename);
+	imagemagick_mptr(const synfig::FileSystem::Identifier &identifier);
 
 	~imagemagick_mptr();
 
diff --git a/src/modules/mod_imagemagick/trgt_imagemagick.cpp b/src/modules/mod_imagemagick/trgt_imagemagick.cpp
index 90ec8cd..af17f83 100644
--- a/src/modules/mod_imagemagick/trgt_imagemagick.cpp
+++ b/src/modules/mod_imagemagick/trgt_imagemagick.cpp
@@ -78,17 +78,17 @@ SYNFIG_TARGET_SET_CVS_ID(imagemagick_trgt,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-imagemagick_trgt::imagemagick_trgt(const char *Filename,
-								   const synfig::TargetParam& params)
-{
-	pid=-1;
-	file=NULL;
-	filename=Filename;
-	multi_image=false;
-	buffer=NULL;
-	color_buffer=0;
-	sequence_separator=params.sequence_separator;
-}
+imagemagick_trgt::imagemagick_trgt(const char *Filename,  const synfig::TargetParam &params):
+	pid(-1),
+	imagecount(),
+	multi_image(false),
+	file(NULL),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	pf(),
+	sequence_separator(params.sequence_separator)
+{ }
 
 imagemagick_trgt::~imagemagick_trgt()
 {
@@ -119,7 +119,7 @@ imagemagick_trgt::set_rend_desc(RendDesc *given_desc)
 }
 
 bool
-imagemagick_trgt::init()
+imagemagick_trgt::init(synfig::ProgressCallback *cb)
 {
 	imagecount=desc.get_frame_start();
 	if(desc.get_frame_end()-desc.get_frame_start()>0)
diff --git a/src/modules/mod_imagemagick/trgt_imagemagick.h b/src/modules/mod_imagemagick/trgt_imagemagick.h
index e303dca..b93efc1 100644
--- a/src/modules/mod_imagemagick/trgt_imagemagick.h
+++ b/src/modules/mod_imagemagick/trgt_imagemagick.h
@@ -61,7 +61,7 @@ public:
 	virtual ~imagemagick_trgt();
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
 	virtual synfig::Color * start_scanline(int scanline);
diff --git a/src/modules/mod_jpeg/Makefile.in b/src/modules/mod_jpeg/Makefile.in
index 1522f61..fc70197 100644
--- a/src/modules/mod_jpeg/Makefile.in
+++ b/src/modules/mod_jpeg/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -238,9 +241,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -272,6 +278,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -309,6 +319,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -326,6 +337,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_jpeg/mptr_jpeg.cpp b/src/modules/mod_jpeg/mptr_jpeg.cpp
index 863c3f3..385ac0a 100644
--- a/src/modules/mod_jpeg/mptr_jpeg.cpp
+++ b/src/modules/mod_jpeg/mptr_jpeg.cpp
@@ -6,6 +6,7 @@
 **
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2015 Jérôme Blanchi
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -42,10 +43,10 @@
 #include <synfig/time.h>
 #include <synfig/general.h>
 
-
 #include <cstdio>
 #include <algorithm>
 #include <functional>
+#include <sstream>
 #endif
 
 /* === M A C R O S ========================================================= */
@@ -63,6 +64,7 @@ SYNFIG_IMPORTER_SET_NAME(jpeg_mptr,"jpeg");
 SYNFIG_IMPORTER_SET_EXT(jpeg_mptr,"jpg");
 SYNFIG_IMPORTER_SET_VERSION(jpeg_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(jpeg_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(jpeg_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
@@ -96,19 +98,18 @@ jpeg_mptr::my_error_exit (j_common_ptr cinfo)
 
 
 
-jpeg_mptr::jpeg_mptr(const char *file_name)
+jpeg_mptr::jpeg_mptr(const synfig::FileSystem::Identifier &identifier):
+	Importer(identifier)
 {
-  	struct my_error_mgr jerr;
-	filename=file_name;
+	struct my_error_mgr jerr;
 
 	/* Open the file pointer */
-    FILE *file = fopen(file_name, "rb");
-    if (!file)
-    {
-        //! \todo THROW SOMETHING
-		throw String("error on importer construction, *WRITEME*1");
+	FileSystem::ReadStreamHandle stream = identifier.get_read_stream();
+	if (!stream)
+	{
+		throw String("Error on jpeg importer, unable to physically open "+identifier.filename);
 		return;
-    }
+	}
 
 	/* Step 1: allocate and initialize JPEG decompression object */
 
@@ -121,15 +122,20 @@ jpeg_mptr::jpeg_mptr(const char *file_name)
 		 * We need to clean up the JPEG object, close the input file, and return.
 		 */
 		jpeg_destroy_decompress(&cinfo);
-		fclose(file);
-		throw String("error on importer construction, *WRITEME*2");
+		stream.reset();
+		throw String("Error on jpeg importer, unable to connect to jpeg library");
 	}
 	/* Now we can initialize the JPEG decompression object. */
 	jpeg_create_decompress(&cinfo);
 
-	/* Step 2: specify data source (eg, a file) */
+	/* Step 2: specify data source (eg, from memory thrue a String) */
+
+	std::ostringstream tmp;
+	tmp << stream->rdbuf();
+	String streamString = tmp.str();
+	stream.reset();
 
-	jpeg_stdio_src(&cinfo, file);
+	jpeg_mem_src(&cinfo, (unsigned char*)streamString.c_str(), streamString.size());
 
 	/* Step 3: read file parameters with jpeg_read_header() */
 
@@ -161,8 +167,8 @@ jpeg_mptr::jpeg_mptr(const char *file_name)
 
 	if(!buffer)
 	{
-		synfig::error("jpeg_mptr: error: alloc of \"buffer\" failed (bug?)");
-		throw String("alloc of \"buffer\" failed (bug?)");
+		synfig::error("Error on jpeg importer, alloc of \"buffer\" failed (bug?)");
+		throw String("Error on jpeg importer, alloc of \"buffer\" failed (bug?)");
 	}
 
 	int x;
@@ -218,9 +224,9 @@ jpeg_mptr::jpeg_mptr(const char *file_name)
 		break;
 
 	default:
-		synfig::error("jpeg_mptr: error: Unsupported color type");
+		synfig::error("Error on jpeg importer, Unsupported color type");
         //! \todo THROW SOMETHING
-		throw String("error on importer construction, *WRITEME*6");
+		throw String("Error on jpeg importer, Unsupported color type");
 		return;
 	}
 
@@ -241,7 +247,7 @@ jpeg_mptr::jpeg_mptr(const char *file_name)
 	* so as to simplify the setjmp error logic above.  (Actually, I don't
 	* think that jpeg_destroy can do an error exit, but why assume anything...)
 	*/
-	fclose(file);
+//	fclose(file);
 }
 
 jpeg_mptr::~jpeg_mptr()
diff --git a/src/modules/mod_jpeg/mptr_jpeg.h b/src/modules/mod_jpeg/mptr_jpeg.h
index 282353b..e255155 100644
--- a/src/modules/mod_jpeg/mptr_jpeg.h
+++ b/src/modules/mod_jpeg/mptr_jpeg.h
@@ -48,7 +48,6 @@ class jpeg_mptr : public synfig::Importer
 {
 	SYNFIG_IMPORTER_MODULE_EXT
 private:
-	synfig::String filename;
 	synfig::Surface surface_buffer;
 
 	struct jpeg_decompress_struct cinfo;
@@ -56,7 +55,7 @@ private:
 	static void my_error_exit (j_common_ptr cinfo);
 
 public:
-	jpeg_mptr(const char *filename);
+	jpeg_mptr(const synfig::FileSystem::Identifier &identifier);
 	~jpeg_mptr();
 
 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
diff --git a/src/modules/mod_jpeg/trgt_jpeg.cpp b/src/modules/mod_jpeg/trgt_jpeg.cpp
index d51fda5..e87c507 100644
--- a/src/modules/mod_jpeg/trgt_jpeg.cpp
+++ b/src/modules/mod_jpeg/trgt_jpeg.cpp
@@ -56,17 +56,20 @@ SYNFIG_TARGET_SET_CVS_ID(jpeg_trgt,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-jpeg_trgt::jpeg_trgt(const char *Filename,
-					 const synfig::TargetParam&  params)
+jpeg_trgt::jpeg_trgt(const char *Filename, const synfig::TargetParam &params):
+	file(NULL),
+	quality(95),
+	cinfo(),
+	jerr(),
+	multi_image(),
+	ready(false),
+	imagecount(),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	sequence_separator(params.sequence_separator)
 {
-	file=NULL;
-	filename=Filename;
-	buffer=NULL;
-	ready=false;
-	quality=95;
-	color_buffer=0;
 	set_alpha_mode(TARGET_ALPHA_MODE_FILL);
-	sequence_separator=params.sequence_separator;
 }
 
 jpeg_trgt::~jpeg_trgt()
diff --git a/src/modules/mod_jpeg/trgt_jpeg.h b/src/modules/mod_jpeg/trgt_jpeg.h
index f321dd6..6f96ab1 100644
--- a/src/modules/mod_jpeg/trgt_jpeg.h
+++ b/src/modules/mod_jpeg/trgt_jpeg.h
@@ -50,7 +50,7 @@ class jpeg_trgt : public synfig::Target_Scanline
 	SYNFIG_TARGET_MODULE_EXT
 private:
 	FILE *file;
-	int w,h,quality;
+	int /*w,h,*/quality;
 	struct jpeg_compress_struct cinfo;
 	struct jpeg_error_mgr jerr;
 
diff --git a/src/modules/mod_libavcodec/Makefile.in b/src/modules/mod_libavcodec/Makefile.in
index 33c4add..f9a5f67 100644
--- a/src/modules/mod_libavcodec/Makefile.in
+++ b/src/modules/mod_libavcodec/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -240,9 +243,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -274,6 +280,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -311,6 +321,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -328,6 +339,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_libavcodec/mptr.cpp b/src/modules/mod_libavcodec/mptr.cpp
index 6b59cda..d143a52 100644
--- a/src/modules/mod_libavcodec/mptr.cpp
+++ b/src/modules/mod_libavcodec/mptr.cpp
@@ -50,6 +50,8 @@ SYNFIG_IMPORTER_SET_NAME(Importer_LibAVCodec,"libav");
 SYNFIG_IMPORTER_SET_EXT(Importer_LibAVCodec,"avi");
 SYNFIG_IMPORTER_SET_VERSION(Importer_LibAVCodec,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(Importer_LibAVCodec,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(Importer_LibAVCodec, false);
+
 
 /* === M E T H O D S ======================================================= */
 
diff --git a/src/modules/mod_libavcodec/trgt_av.cpp b/src/modules/mod_libavcodec/trgt_av.cpp
index 5f481f6..729dc02 100644
--- a/src/modules/mod_libavcodec/trgt_av.cpp
+++ b/src/modules/mod_libavcodec/trgt_av.cpp
@@ -31,8 +31,6 @@
 #	include <config.h>
 #endif
 
-#include "trgt_av.h"
-
 extern "C"
 {
 
@@ -47,6 +45,8 @@ extern "C"
 #	include <avformat.h>
 #elif defined(HAVE_FFMPEG_AVFORMAT_H)
 #	include <ffmpeg/avformat.h>
+#else
+#   define DISABLE_MODULE
 #endif
 
 #ifdef WITH_LIBSWSCALE
@@ -61,13 +61,18 @@ extern "C"
 
 }
 
-#include <synfig/general.h>
+#ifndef DISABLE_MODULE
+#	include "trgt_av.h"
+#	include <synfig/general.h>
+#	include <cstdio>
+#	include <algorithm>
+#	include <functional>
+#endif
 
-#include <cstdio>
-#include <algorithm>
-#include <functional>
 #endif
 
+#ifndef DISABLE_MODULE
+
 #ifdef WIN32
 #define snprintf	_snprintf
 #endif
@@ -969,7 +974,7 @@ Target_LibAVCodec::end_scanline()
 	return true;
 }
 
-bool Target_LibAVCodec::init()
+bool Target_LibAVCodec::init(synfig::ProgressCallback *cb)
 {
 	//hardcoded test for mpeg
 	if(!data->Initialize(filename.c_str(),NULL))
@@ -980,3 +985,5 @@ bool Target_LibAVCodec::init()
 
 	return true;
 }
+
+#endif
diff --git a/src/modules/mod_libavcodec/trgt_av.h b/src/modules/mod_libavcodec/trgt_av.h
index 3b09af2..10ca348 100644
--- a/src/modules/mod_libavcodec/trgt_av.h
+++ b/src/modules/mod_libavcodec/trgt_av.h
@@ -57,7 +57,7 @@ public:
 					  const synfig::TargetParam& /* params */);
 	virtual ~Target_LibAVCodec();
 
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
diff --git a/src/modules/mod_magickpp/Makefile.in b/src/modules/mod_magickpp/Makefile.in
index bad5f51..430f2d5 100644
--- a/src/modules/mod_magickpp/Makefile.in
+++ b/src/modules/mod_magickpp/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -239,9 +242,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -273,6 +279,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -310,6 +320,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -327,6 +338,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_magickpp/trgt_magickpp.cpp b/src/modules/mod_magickpp/trgt_magickpp.cpp
index da4cd73..f9dc056 100644
--- a/src/modules/mod_magickpp/trgt_magickpp.cpp
+++ b/src/modules/mod_magickpp/trgt_magickpp.cpp
@@ -211,7 +211,7 @@ magickpp_trgt::set_rend_desc(RendDesc *given_desc)
 }
 
 bool
-magickpp_trgt::init()
+magickpp_trgt::init(synfig::ProgressCallback *cb)
 {
 	width = desc.get_w();
 	height = desc.get_h();
diff --git a/src/modules/mod_magickpp/trgt_magickpp.h b/src/modules/mod_magickpp/trgt_magickpp.h
index 4810b3f..96b451c 100644
--- a/src/modules/mod_magickpp/trgt_magickpp.h
+++ b/src/modules/mod_magickpp/trgt_magickpp.h
@@ -56,13 +56,23 @@ private:
 
 public:
 
-	magickpp_trgt(const char *filename,
-				  const synfig::TargetParam& params) :
-		filename(filename), sequence_separator(params.sequence_separator) { }
+	magickpp_trgt(const char *filename, const synfig::TargetParam &params):
+		width(),
+		height(),
+		filename(filename),
+		buffer1(NULL),
+		start_pointer(NULL),
+		buffer_pointer(NULL),
+		buffer2(NULL),
+		previous_buffer_pointer(NULL),
+		transparent(),
+		color_buffer(NULL),
+		sequence_separator(params.sequence_separator)
+	{ }
 	virtual ~magickpp_trgt();
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
diff --git a/src/modules/mod_mng/Makefile.in b/src/modules/mod_mng/Makefile.in
index 28be47d..7838a54 100644
--- a/src/modules/mod_mng/Makefile.in
+++ b/src/modules/mod_mng/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -236,9 +239,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -270,6 +276,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -307,6 +317,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -324,6 +335,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_mng/trgt_mng.cpp b/src/modules/mod_mng/trgt_mng.cpp
index 23d6e81..b6004fe 100644
--- a/src/modules/mod_mng/trgt_mng.cpp
+++ b/src/modules/mod_mng/trgt_mng.cpp
@@ -97,17 +97,21 @@ mng_error_proc(mng_handle mng __attribute__ ((unused)), mng_int32 error __attrib
 	return MNG_TRUE;
 }
 
-mng_trgt::mng_trgt(const char *Filename,
-				   const synfig::TargetParam& /* params */) :
-	filename(Filename)
-{
-	file=NULL;
-	buffer=NULL;
-	color_buffer=NULL;
-	zbuffer=NULL;
-	zbuffer_len=0;
-	ready=false;
-}
+mng_trgt::mng_trgt(const char *Filename, const synfig::TargetParam & /* params */):
+	file(NULL),
+	w(),
+	h(),
+	mng(NULL),
+	multi_image(),
+	ready(false),
+	imagecount(),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	zstream(),
+	zbuffer(NULL),
+	zbuffer_len(0)
+{ }
 
 mng_trgt::~mng_trgt()
 {
@@ -148,7 +152,7 @@ mng_trgt::set_rend_desc(RendDesc *given_desc)
 
 
 bool
-mng_trgt::init()
+mng_trgt::init(synfig::ProgressCallback *cb)
 {
 	// synfig::info("%s:%d mng_trgt::init()", __FILE__, __LINE__);
 
diff --git a/src/modules/mod_mng/trgt_mng.h b/src/modules/mod_mng/trgt_mng.h
index 6fc848a..c779c29 100644
--- a/src/modules/mod_mng/trgt_mng.h
+++ b/src/modules/mod_mng/trgt_mng.h
@@ -87,7 +87,7 @@ public:
 	virtual ~mng_trgt();
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
 
diff --git a/src/modules/mod_noise/Makefile.in b/src/modules/mod_noise/Makefile.in
index 42471ae..2a162de 100644
--- a/src/modules/mod_noise/Makefile.in
+++ b/src/modules/mod_noise/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -234,9 +237,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -268,6 +274,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -305,6 +315,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -322,6 +333,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_noise/distort.cpp b/src/modules/mod_noise/distort.cpp
index 728e78a..d3a2e2d 100644
--- a/src/modules/mod_noise/distort.cpp
+++ b/src/modules/mod_noise/distort.cpp
@@ -300,6 +300,8 @@ NoiseDistort::get_bounding_rect(Context context)const
 bool
 NoiseDistort::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_noise/distort.h b/src/modules/mod_noise/distort.h
index 4d42542..36ec18c 100644
--- a/src/modules/mod_noise/distort.h
+++ b/src/modules/mod_noise/distort.h
@@ -82,6 +82,7 @@ public:
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual void set_time(synfig::IndependentContext context, synfig::Time time)const;
 	virtual void set_time(synfig::IndependentContext context, synfig::Time time, const synfig::Point &point)const;
+	using Layer::get_bounding_rect;
 	virtual synfig::Rect get_bounding_rect(synfig::Context context)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
diff --git a/src/modules/mod_noise/noise.cpp b/src/modules/mod_noise/noise.cpp
index 5acd97a..872a9f4 100644
--- a/src/modules/mod_noise/noise.cpp
+++ b/src/modules/mod_noise/noise.cpp
@@ -335,6 +335,8 @@ Noise::get_cairocolor(Context context, const Point &point)const
 bool
 Noise::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
diff --git a/src/modules/mod_noise/valuenode_random.cpp b/src/modules/mod_noise/valuenode_random.cpp
index 185bc61..094bbaf 100644
--- a/src/modules/mod_noise/valuenode_random.cpp
+++ b/src/modules/mod_noise/valuenode_random.cpp
@@ -67,32 +67,29 @@ ValueNode_Random::ValueNode_Random(const ValueBase &value):
 	set_link("smooth",ValueNode_Const::create(int(RandomNoise::SMOOTH_CUBIC)));
 	set_link("loop",ValueNode_Const::create(Real(0)));
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		set_link("link",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_BOOL:
+	else
+	if (type == type_bool)
 		set_link("link",ValueNode_Const::create(value.get(bool())));
-		break;
-	case ValueBase::TYPE_COLOR:
+	else
+	if (type == type_color)
 		set_link("link",ValueNode_Const::create(value.get(Color())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	else
+	if (type == type_integer)
 		set_link("link",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 		set_link("link",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 		set_link("link",ValueNode_Const::create(value.get(Time())));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	else
+	if (type == type_vector)
 		set_link("link",ValueNode_Const::create(value.get(Vector())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(get_type()));
-	}
+	else
+		throw Exception::BadType(type.description.local_name);
 }
 
 LinkableValueNode*
@@ -126,48 +123,36 @@ ValueNode_Random::operator()(Time t)const
 
 	random.set_seed(seed);
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return ((*link_)(t).get( Angle()) +
 				Angle::deg(random(Smooth(smooth), 0, 0, 0, speed, loop) * radius));
-
-	case ValueBase::TYPE_BOOL:
+	if (type == type_bool)
 		return round_to_int((*link_)(t).get(  bool()) +
 							random(Smooth(smooth), 0, 0, 0, speed, loop) * radius) > 0;
-
-	case ValueBase::TYPE_COLOR:
+	if (type == type_color)
 		return (((*link_)(t).get( Color()) +
 				 Color(random(Smooth(smooth), 0, 0, 0, speed, loop),
 					   random(Smooth(smooth), 1, 0, 0, speed, loop),
 					   random(Smooth(smooth), 2, 0, 0, speed, loop), 0) * radius).clamped());
-
-	case ValueBase::TYPE_INTEGER:
+	if (type == type_integer)
 		return round_to_int((*link_)(t).get(   int()) +
 							random(Smooth(smooth), 0, 0, 0, speed, loop) * radius);
-
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return ((*link_)(t).get(  Real()) +
 				random(Smooth(smooth), 0, 0, 0, speed, loop) * radius);
-
-	case ValueBase::TYPE_TIME:
+	if (type == type_time)
 		return ((*link_)(t).get(  Time()) +
 				random(Smooth(smooth), 0, 0, 0, speed, loop) * radius);
-
-	case ValueBase::TYPE_VECTOR:
+	if (type == type_vector)
 	{
 		float length(random(Smooth(smooth), 0, 0, 0, speed, loop) * radius);
 		Angle::rad angle(random(Smooth(smooth), 1, 0, 0, speed, loop) * PI);
-
 		return ((*link_)(t).get(Vector()) +
 				Vector(Angle::cos(angle).get(), Angle::sin(angle).get()) * length);
 	}
 
-	default:
-		assert(0);
-		break;
-	}
-
+	assert(0);
 	return ValueBase();
 }
 
@@ -192,11 +177,11 @@ ValueNode_Random::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(link_,   get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(radius_, ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(seed_,   ValueBase::TYPE_INTEGER);
-	case 3: CHECK_TYPE_AND_SET_VALUE(speed_,  ValueBase::TYPE_REAL);
-	case 4: CHECK_TYPE_AND_SET_VALUE(smooth_, ValueBase::TYPE_INTEGER);
-	case 5: CHECK_TYPE_AND_SET_VALUE(loop_,  ValueBase::TYPE_REAL);
+	case 1: CHECK_TYPE_AND_SET_VALUE(radius_, type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(seed_,   type_integer);
+	case 3: CHECK_TYPE_AND_SET_VALUE(speed_,  type_real);
+	case 4: CHECK_TYPE_AND_SET_VALUE(smooth_, type_integer);
+	case 5: CHECK_TYPE_AND_SET_VALUE(loop_,  type_real);
 	}
 	return false;
 }
@@ -219,28 +204,28 @@ ValueNode_Random::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_Random::check_type(ValueBase::Type type)
+ValueNode_Random::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE		||
-		type==ValueBase::TYPE_BOOL		||
-		type==ValueBase::TYPE_COLOR		||
-		type==ValueBase::TYPE_INTEGER	||
-		type==ValueBase::TYPE_REAL		||
-		type==ValueBase::TYPE_TIME		||
-		type==ValueBase::TYPE_VECTOR	;
+		type==type_angle	||
+		type==type_bool		||
+		type==type_color	||
+		type==type_integer	||
+		type==type_real		||
+		type==type_time		||
+		type==type_vector;
 }
 
-ValueNode*
+ValueNode::Handle
 ValueNode_Random::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)const
 {
-	ValueNode_Random* ret = (ValueNode_Random*)LinkableValueNode::clone(canvas, deriv_guid);
-	ret->randomize_seed(true);
+	etl::handle<ValueNode_Random> ret=LinkableValueNode::clone(canvas, deriv_guid);
+	ret->randomize_seed();
 	return ret;
 }
 
 void
-ValueNode_Random::randomize_seed(bool silent)
+ValueNode_Random::randomize_seed()
 {
 	int i = get_link_index_from_name("seed");
 	ValueNode::Handle link = get_link_vfunc(i);
@@ -249,7 +234,7 @@ ValueNode_Random::randomize_seed(bool silent)
 		int seed = time(NULL) + rand();
 		if (seed < 0) seed = -seed;
 		random.set_seed(seed);
-		set_link(i, ValueNode_Const::create(seed), silent);
+		set_link(i, ValueNode_Const::create(seed));
 	}
 }
 
diff --git a/src/modules/mod_noise/valuenode_random.h b/src/modules/mod_noise/valuenode_random.h
index 4638526..f986019 100644
--- a/src/modules/mod_noise/valuenode_random.h
+++ b/src/modules/mod_noise/valuenode_random.h
@@ -48,7 +48,7 @@ class ValueNode_Random : public LinkableValueNode
 	ValueNode::RHandle loop_;
 
 	mutable RandomNoise random;
-	RandomNoise::SmoothType smooth;
+	//RandomNoise::SmoothType smooth;
 	ValueNode_Random(const ValueBase &value);
 
 public:
@@ -65,9 +65,9 @@ public:
 
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
-	void randomize_seed(bool silent = false);
+	void randomize_seed();
 
 protected:
 	LinkableValueNode* create_new()const;
@@ -76,7 +76,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Random* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Random
diff --git a/src/modules/mod_openexr/Makefile.in b/src/modules/mod_openexr/Makefile.in
index 78a4589..5beb231 100644
--- a/src/modules/mod_openexr/Makefile.in
+++ b/src/modules/mod_openexr/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -239,9 +242,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -273,6 +279,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -310,6 +320,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -327,6 +338,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_openexr/mptr_openexr.cpp b/src/modules/mod_openexr/mptr_openexr.cpp
index 8ca6849..729a492 100644
--- a/src/modules/mod_openexr/mptr_openexr.cpp
+++ b/src/modules/mod_openexr/mptr_openexr.cpp
@@ -59,25 +59,17 @@ SYNFIG_IMPORTER_SET_NAME(exr_mptr,"openexr");
 SYNFIG_IMPORTER_SET_EXT(exr_mptr,"exr");
 SYNFIG_IMPORTER_SET_VERSION(exr_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(exr_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(exr_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
-exr_mptr::exr_mptr(const char *file)
-{
-	filename=file;
-}
-
-exr_mptr::~exr_mptr()
-{
-}
-
 bool
 exr_mptr::get_frame(synfig::Surface &out_surface, const synfig::RendDesc &/*renddesc*/, Time, synfig::ProgressCallback *cb)
 {
     try
     {
 
-	Imf::RgbaInputFile in(filename.c_str());
+	Imf::RgbaInputFile in(identifier.filename.c_str());
 
     int w = in.dataWindow().max.x - in.dataWindow().min.x + 1;
     int h = in.dataWindow().max.y - in.dataWindow().min.y + 1;
diff --git a/src/modules/mod_openexr/mptr_openexr.h b/src/modules/mod_openexr/mptr_openexr.h
index 2b88847..1033e85 100644
--- a/src/modules/mod_openexr/mptr_openexr.h
+++ b/src/modules/mod_openexr/mptr_openexr.h
@@ -30,7 +30,7 @@
 /* === H E A D E R S ======================================================= */
 
 #include <synfig/importer.h>
-#include <stdio.h>
+#include <cstdio>
 #include <synfig/string.h>
 
 /* === M A C R O S ========================================================= */
@@ -41,16 +41,9 @@
 
 class exr_mptr : public synfig::Importer
 {
-	SYNFIG_IMPORTER_MODULE_EXT
+	SYNFIG_IMPORTER_MODULE_DECLARATIONS(exr_mptr)
 
-private:
-	synfig::String filename;
 public:
-	exr_mptr(const char *filename);
-	~exr_mptr();
-
-
-
 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
 
 };
diff --git a/src/modules/mod_openexr/trgt_openexr.cpp b/src/modules/mod_openexr/trgt_openexr.cpp
index 3aff765..9f1ac69 100644
--- a/src/modules/mod_openexr/trgt_openexr.cpp
+++ b/src/modules/mod_openexr/trgt_openexr.cpp
@@ -61,18 +61,18 @@ exr_trgt::ready()
 	return (bool)exr_file;
 }
 
-exr_trgt::exr_trgt(const char *Filename,
-				   const synfig::TargetParam&  params):
+exr_trgt::exr_trgt(const char *Filename, const synfig::TargetParam &params):
 	multi_image(false),
 	imagecount(0),
+	scanline(),
 	filename(Filename),
-	exr_file(0)
-{
-	buffer=0;
+	exr_file(NULL),
+	buffer(NULL)
 #ifndef USE_HALF_TYPE
-	buffer_color=0;
+	,
+	buffer_color(NULL)
 #endif
-
+{
 	// OpenEXR uses linear gamma
 	gamma().set_gamma(1.0);
 	sequence_separator=params.sequence_separator;
diff --git a/src/modules/mod_particle/Makefile.in b/src/modules/mod_particle/Makefile.in
index 4d2d8f7..8e24e30 100644
--- a/src/modules/mod_particle/Makefile.in
+++ b/src/modules/mod_particle/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_particle/plant.cpp b/src/modules/mod_particle/plant.cpp
index b310b3c..9b92961 100644
--- a/src/modules/mod_particle/plant.cpp
+++ b/src/modules/mod_particle/plant.cpp
@@ -114,7 +114,7 @@ Plant::Plant():
 	bline[0].set_width(1.0f);
 	bline[1].set_width(1.0f);
 	bline[2].set_width(1.0f);
-	param_bline.set(bline);
+	param_bline.set_list_of(bline);
 	
 	bline_loop=true;
 	mass=(0.5);
@@ -171,7 +171,7 @@ Plant::branch(int n,int depth,float t, float stunt_growth, synfig::Point positio
 void
 Plant::calc_bounding_rect()const
 {
-	std::vector<BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	std::vector<BLinePoint> bline(param_bline.get_list_of(BLinePoint()));
 	Real velocity=param_velocity.get(Real());
 	Vector gravity=param_gravity.get(Vector());
 	Real size=param_size.get(Real());
@@ -208,7 +208,7 @@ Plant::calc_bounding_rect()const
 void
 Plant::sync()const
 {
-	std::vector<BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	std::vector<BLinePoint> bline(param_bline.get_list_of(BLinePoint()));
 	Real step_=param_step.get(Real());
 	Gradient gradient=param_gradient.get(Gradient());
 	Real random_factor=param_random_factor.get(Real());
@@ -526,6 +526,8 @@ Plant::set_version(const String &ver)
 bool
 Plant::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	bool ret(context.accelerated_render(surface,quality,renddesc,cb));
 	if(is_disabled() || !ret)
 		return ret;
diff --git a/src/modules/mod_particle/plant.h b/src/modules/mod_particle/plant.h
index 0eebbdc..4140009 100644
--- a/src/modules/mod_particle/plant.h
+++ b/src/modules/mod_particle/plant.h
@@ -128,7 +128,7 @@ public:
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-
+	using Layer::get_bounding_rect;
 	virtual Rect get_bounding_rect(Context context)const;
 };
 
diff --git a/src/modules/mod_png/Makefile.am b/src/modules/mod_png/Makefile.am
index d206a16..a33dcb4 100644
--- a/src/modules/mod_png/Makefile.am
+++ b/src/modules/mod_png/Makefile.am
@@ -18,6 +18,8 @@ libmod_png_la_SOURCES = \
 	main.cpp \
 	trgt_png.cpp \
 	trgt_png.h \
+	trgt_png_spritesheet.cpp \
+	trgt_png_spritesheet.h \
 	trgt_cairo_png.cpp \
 	trgt_cairo_png.h \
 	mptr_png.cpp \
diff --git a/src/modules/mod_png/Makefile.in b/src/modules/mod_png/Makefile.in
index 108db81..614fadd 100644
--- a/src/modules/mod_png/Makefile.in
+++ b/src/modules/mod_png/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -134,10 +137,12 @@ LTLIBRARIES = $(module_LTLIBRARIES)
 @HAVE_LIBPNG_TRUE at libmod_png_la_DEPENDENCIES =  \
 @HAVE_LIBPNG_TRUE@	../../synfig/libsynfig.la
 am__libmod_png_la_SOURCES_DIST = main.cpp trgt_png.cpp trgt_png.h \
+	trgt_png_spritesheet.cpp trgt_png_spritesheet.h \
 	trgt_cairo_png.cpp trgt_cairo_png.h mptr_png.cpp mptr_png.h \
 	mptr_cairo_png.cpp mptr_cairo_png.h
 @HAVE_LIBPNG_TRUE at am_libmod_png_la_OBJECTS = libmod_png_la-main.lo \
 @HAVE_LIBPNG_TRUE@	libmod_png_la-trgt_png.lo \
+ at HAVE_LIBPNG_TRUE@	libmod_png_la-trgt_png_spritesheet.lo \
 @HAVE_LIBPNG_TRUE@	libmod_png_la-trgt_cairo_png.lo \
 @HAVE_LIBPNG_TRUE@	libmod_png_la-mptr_png.lo \
 @HAVE_LIBPNG_TRUE@	libmod_png_la-mptr_cairo_png.lo
@@ -241,9 +246,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -275,6 +283,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -312,6 +324,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -329,6 +342,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
@@ -439,6 +454,8 @@ moduledir = @MODULE_DIR@
 @HAVE_LIBPNG_TRUE@	main.cpp \
 @HAVE_LIBPNG_TRUE@	trgt_png.cpp \
 @HAVE_LIBPNG_TRUE@	trgt_png.h \
+ at HAVE_LIBPNG_TRUE@	trgt_png_spritesheet.cpp \
+ at HAVE_LIBPNG_TRUE@	trgt_png_spritesheet.h \
 @HAVE_LIBPNG_TRUE@	trgt_cairo_png.cpp \
 @HAVE_LIBPNG_TRUE@	trgt_cairo_png.h \
 @HAVE_LIBPNG_TRUE@	mptr_png.cpp \
@@ -547,6 +564,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_png_la-mptr_png.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_png_la-trgt_cairo_png.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_png_la-trgt_png.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_png_la-trgt_png_spritesheet.Plo at am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -583,6 +601,13 @@ libmod_png_la-trgt_png.lo: trgt_png.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_png_la_CXXFLAGS) $(CXXFLAGS) -c -o libmod_png_la-trgt_png.lo `test -f 'trgt_png.cpp' || echo '$(srcdir)/'`trgt_png.cpp
 
+libmod_png_la-trgt_png_spritesheet.lo: trgt_png_spritesheet.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_png_la_CXXFLAGS) $(CXXFLAGS) -MT libmod_png_la-trgt_png_spritesheet.lo -MD -MP -MF $(DEPDIR)/libmod_png_la-trgt_png_spritesheet.Tpo -c -o libmod_png_la-trgt_png_spritesheet.lo `test -f 'trgt_png_spritesheet.cpp' || echo '$(srcdir)/'`trgt_png_spritesheet.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmod_png_la-trgt_png_spritesheet.Tpo $(DEPDIR)/libmod_png_la-trgt_png_spritesheet.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trgt_png_spritesheet.cpp' object='libmod_png_la-trgt_png_spritesheet.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_png_la_CXXFLAGS) $(CXXFLAGS) -c -o libmod_png_la-trgt_png_spritesheet.lo `test -f 'trgt_png_spritesheet.cpp' || echo '$(srcdir)/'`trgt_png_spritesheet.cpp
+
 libmod_png_la-trgt_cairo_png.lo: trgt_cairo_png.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_png_la_CXXFLAGS) $(CXXFLAGS) -MT libmod_png_la-trgt_cairo_png.lo -MD -MP -MF $(DEPDIR)/libmod_png_la-trgt_cairo_png.Tpo -c -o libmod_png_la-trgt_cairo_png.lo `test -f 'trgt_cairo_png.cpp' || echo '$(srcdir)/'`trgt_cairo_png.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmod_png_la-trgt_cairo_png.Tpo $(DEPDIR)/libmod_png_la-trgt_cairo_png.Plo
diff --git a/src/modules/mod_png/main.cpp b/src/modules/mod_png/main.cpp
index e9bf2b8..6823060 100644
--- a/src/modules/mod_png/main.cpp
+++ b/src/modules/mod_png/main.cpp
@@ -36,6 +36,7 @@
 #include "png.h"
 #include <synfig/module.h>
 #include "trgt_png.h"
+#include "trgt_png_spritesheet.h"
 #include "trgt_cairo_png.h"
 #include "mptr_png.h"
 #include "mptr_cairo_png.h"
@@ -55,6 +56,8 @@ MODULE_INVENTORY_BEGIN(mod_png)
 	BEGIN_TARGETS
 		TARGET(cairo_png_trgt)
 		TARGET(png_trgt)
+		TARGET(png_trgt_spritesheet)
+		TARGET_EXT(png_trgt, "png")
 	END_TARGETS
 	BEGIN_IMPORTERS
 		IMPORTER(png_mptr)
diff --git a/src/modules/mod_png/mptr_cairo_png.cpp b/src/modules/mod_png/mptr_cairo_png.cpp
index b92d296..02e3058 100644
--- a/src/modules/mod_png/mptr_cairo_png.cpp
+++ b/src/modules/mod_png/mptr_cairo_png.cpp
@@ -56,17 +56,31 @@ SYNFIG_CAIROIMPORTER_SET_NAME(cairo_png_mptr,"cairo_png");
 SYNFIG_CAIROIMPORTER_SET_EXT(cairo_png_mptr,"png");
 SYNFIG_CAIROIMPORTER_SET_VERSION(cairo_png_mptr,"0.1");
 SYNFIG_CAIROIMPORTER_SET_CVS_ID(cairo_png_mptr,"$Id$");
+SYNFIG_CAIROIMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(cairo_png_mptr, true);
 
 /* === M E T H O D S ======================================================= */
 
+cairo_status_t
+cairo_png_mptr::read_callback(void *closure, unsigned char *data, unsigned int length)
+{
+	unsigned int s = closure == NULL ? 0
+				 : ((FileSystem::ReadStream*)closure)->read_block(data, length);
+	if (s < length) {
+		memset(data + s, 0, length - s);
+		return CAIRO_STATUS_READ_ERROR;
+	}
+	return CAIRO_STATUS_SUCCESS;
+}
 
-cairo_png_mptr::cairo_png_mptr(const char *file_name)
+cairo_png_mptr::cairo_png_mptr(const synfig::FileSystem::Identifier &identifier):
+	CairoImporter(identifier)
 {
-	filename=file_name;
-	csurface_=cairo_image_surface_create_from_png(file_name);
+	FileSystem::ReadStreamHandle stream = identifier.get_read_stream();
+	csurface_=cairo_image_surface_create_from_png_stream(read_callback, stream.get());
+	stream.reset();
 	if(cairo_surface_status(csurface_))
 	{
-		throw strprintf("Unable to physically open %s",file_name);
+		throw strprintf("Unable to physically open %s",identifier.filename.c_str());
 		cairo_surface_destroy(csurface_);
 		csurface_=NULL;
 		return;
diff --git a/src/modules/mod_png/mptr_cairo_png.h b/src/modules/mod_png/mptr_cairo_png.h
index ece612d..32184df 100644
--- a/src/modules/mod_png/mptr_cairo_png.h
+++ b/src/modules/mod_png/mptr_cairo_png.h
@@ -46,11 +46,12 @@ class cairo_png_mptr : public synfig::CairoImporter
 {
 	SYNFIG_CAIROIMPORTER_MODULE_EXT
 private:
-	synfig::String filename;
 	cairo_surface_t* csurface_;
 
+	static cairo_status_t read_callback(void *closure, unsigned char *data, unsigned int length);
+
 public:
-	cairo_png_mptr(const char *filename);
+	cairo_png_mptr(const synfig::FileSystem::Identifier &identifier);
 	~cairo_png_mptr();
 
 	virtual bool get_frame(cairo_surface_t *&csurface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
diff --git a/src/modules/mod_png/mptr_png.cpp b/src/modules/mod_png/mptr_png.cpp
index a0673d9..52711a1 100644
--- a/src/modules/mod_png/mptr_png.cpp
+++ b/src/modules/mod_png/mptr_png.cpp
@@ -64,6 +64,7 @@ SYNFIG_IMPORTER_SET_NAME(png_mptr,"png");
 SYNFIG_IMPORTER_SET_EXT(png_mptr,"png");
 SYNFIG_IMPORTER_SET_VERSION(png_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(png_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(png_mptr, true);
 
 /* === M E T H O D S ======================================================= */
 
@@ -83,51 +84,45 @@ png_mptr::png_out_warning(png_struct */*png_data*/,const char *msg)
 	//me->ready=false;
 }
 
-int
-png_mptr::read_chunk_callback(png_struct */*png_data*/, png_unknown_chunkp /*chunk*/)
+void
+png_mptr::read_callback(png_structp png_ptr, png_bytep out_bytes, png_size_t bytes_count_to_read)
 {
-	/* The unknown chunk structure contains your
-	  chunk data: */
-	//png_byte name[5];
-	//png_byte *data;
-	//png_size_t size;
-	/* Note that libpng has already taken care of
-	  the CRC handling */
-
-	/* put your code here.  Return one of the
-	  following: */
-
-	//return (-n); /* chunk had an error */
-	return (0); /* did not recognize */
-	//return (n); /* success */
+	FileSystem::ReadStream *stream = (FileSystem::ReadStream*)png_get_io_ptr(png_ptr);
+	png_size_t s = stream == NULL
+				 ? 0
+				 : stream->read_block(out_bytes, bytes_count_to_read);
+	if (s < bytes_count_to_read)
+		memset(out_bytes + s, 0, bytes_count_to_read - s);
 }
 
-png_mptr::png_mptr(const char *file_name)
+png_mptr::png_mptr(const synfig::FileSystem::Identifier &identifier):
+	Importer(identifier)
 {
-	filename=file_name;
-
 	/* Open the file pointer */
-    FILE *file = fopen(file_name, "rb");
-    if (!file)
+	FileSystem::ReadStreamHandle stream = identifier.get_read_stream();
+    if (!stream)
     {
         //! \todo THROW SOMETHING
-		throw strprintf("Unable to physically open %s",file_name);
+		throw strprintf("Unable to physically open %s",identifier.filename.c_str());
 		return;
     }
 
-
 	/* Make sure we are dealing with a PNG format file */
 	png_byte header[PNG_CHECK_BYTES];
-	fread(header, 1, PNG_CHECK_BYTES, file);
-    bool is_png = !png_sig_cmp(header, 0, PNG_CHECK_BYTES);
-    if (!is_png)
+	if (!stream->read_variable(header))
+	{
+        //! \todo THROW SOMETHING
+		throw strprintf("Cannot read header from \"%s\"",identifier.filename.c_str());
+		return;
+	}
+
+    if (0 != png_sig_cmp(header, 0, PNG_CHECK_BYTES))
     {
         //! \todo THROW SOMETHING
-		throw strprintf("This (\"%s\") doesn't appear to be a PNG file",file_name);
+		throw strprintf("This (\"%s\") doesn't appear to be a PNG file",identifier.filename.c_str());
 		return;
     }
 
-
 	png_structp png_ptr = png_create_read_struct
        (PNG_LIBPNG_VER_STRING, (png_voidp)this,
         &png_mptr::png_out_error, &png_mptr::png_out_warning);
@@ -158,9 +153,7 @@ png_mptr::png_mptr(const char *file_name)
 		return;
     }
 
-
-
-	png_init_io(png_ptr, file);
+    png_set_read_fn(png_ptr, stream.get(), read_callback);
 	png_set_sig_bytes(png_ptr,PNG_CHECK_BYTES);
 
 	png_read_info(png_ptr, info_ptr);
@@ -198,8 +191,6 @@ png_mptr::png_mptr(const char *file_name)
 	}
 	*/
 
-	png_set_read_user_chunk_fn(png_ptr, this, &png_mptr::read_chunk_callback);
-
 	// man libpng tells me:
 	//   You must use png_transforms and not call any
 	//   png_set_transform() functions when you use png_read_png().
@@ -328,6 +319,8 @@ png_mptr::png_mptr(const char *file_name)
 			}
 		break;
 	default:
+		png_read_end(png_ptr, end_info);
+		png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
 		synfig::error("png_mptr: error: Unsupported color type");
         //! \todo THROW SOMETHING
 		throw String("error on importer construction, *WRITEME*6");
@@ -336,7 +329,7 @@ png_mptr::png_mptr(const char *file_name)
 
 	png_read_end(png_ptr, end_info);
 	png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
-	fclose(file);
+	stream.reset();
 
 	delete [] row_pointers;
 	delete [] data;
diff --git a/src/modules/mod_png/mptr_png.h b/src/modules/mod_png/mptr_png.h
index 98c83fb..eab4189 100644
--- a/src/modules/mod_png/mptr_png.h
+++ b/src/modules/mod_png/mptr_png.h
@@ -44,22 +44,17 @@ class png_mptr : public synfig::Importer
 {
 	SYNFIG_IMPORTER_MODULE_EXT
 private:
-	synfig::String filename;
 	synfig::Surface surface_buffer;
 
-	png_structp png_ptr;
-    png_infop info_ptr;
-    png_infop end_info;
-
 	bool trim;
 	unsigned int orig_width, orig_height, trimmed_x, trimmed_y;
 
 	static void png_out_error(png_struct *png_data,const char *msg);
 	static void png_out_warning(png_struct *png_data,const char *msg);
-	static int read_chunk_callback(png_struct *png_data, png_unknown_chunkp chunk);
+	static void read_callback(png_structp png_ptr, png_bytep out_bytes, png_size_t bytes_count_to_read);
 
 public:
-	png_mptr(const char *filename);
+	png_mptr(const synfig::FileSystem::Identifier &identifier);
 	~png_mptr();
 
 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
diff --git a/src/modules/mod_png/trgt_cairo_png.cpp b/src/modules/mod_png/trgt_cairo_png.cpp
index e2fd3df..9629ae2 100644
--- a/src/modules/mod_png/trgt_cairo_png.cpp
+++ b/src/modules/mod_png/trgt_cairo_png.cpp
@@ -1,6 +1,6 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file trgt_png.cpp
-**	\brief png_trgt Target Module
+/*!	\file trgt_cairo_png.cpp
+**	\brief png_cairo_trgt Target Png Cairo Module
 **
 **	$Id$
 **
@@ -53,24 +53,23 @@ using namespace etl;
 SYNFIG_TARGET_INIT(cairo_png_trgt);
 SYNFIG_TARGET_SET_NAME(cairo_png_trgt,"cairo_png");
 SYNFIG_TARGET_SET_EXT(cairo_png_trgt,"png");
-SYNFIG_TARGET_SET_VERSION(cairo_png_trgt,"0.1");
+SYNFIG_TARGET_SET_VERSION(cairo_png_trgt,"0.2");
 SYNFIG_TARGET_SET_CVS_ID(cairo_png_trgt,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
 //Target *cairo_png_trgt::New(const char *filename){	return new cairo_png_trgt(filename);}
 
-cairo_png_trgt::cairo_png_trgt(const char *Filename,
-				   const synfig::TargetParam&  params )
-{
-	base_filename=Filename;
-	filename=Filename;
-	sequence_separator=params.sequence_separator;
-}
+cairo_png_trgt::cairo_png_trgt(const char *Filename, const synfig::TargetParam &params):
+	multi_image(false),
+	imagecount(0),
+	filename(Filename),
+	base_filename(Filename),
+	sequence_separator(params.sequence_separator)
+{ }
 
 cairo_png_trgt::~cairo_png_trgt()
-{
-}
+{ }
 
 bool
 cairo_png_trgt::set_rend_desc(RendDesc *given_desc)
@@ -118,8 +117,25 @@ cairo_png_trgt::put_surface(cairo_surface_t *surface, synfig::ProgressCallback *
 		if(cb) cb->error(_("Cairo Surface bad status"));
 		return false;
 	}
-	cairo_status_t status = cairo_surface_write_to_png(surface, filename.c_str());
+
+	cairo_status_t status;
+	if (get_alpha_mode()==TARGET_ALPHA_MODE_EXTRACT)
+	{
+		cairo_t *cr = cairo_create(surface);
+		cairo_push_group_with_content(cr, CAIRO_CONTENT_COLOR_ALPHA);
+		cairo_set_source_rgb(cr, 0, 0, 0);
+		cairo_paint(cr);
+		cairo_set_source_rgb(cr, 1, 1, 1);
+		cairo_mask_surface(cr, cairo_get_target(cr), 0, 0);
+
+		status = cairo_surface_write_to_png(cairo_get_group_target(cr), filename.c_str());
+
+		cairo_destroy(cr);
+	}
+	else
+		status = cairo_surface_write_to_png(surface, filename.c_str());
 	if(status!=CAIRO_STATUS_SUCCESS) synfig::warning(cairo_status_to_string(status));
+
 	imagecount++;
 
 	cairo_surface_destroy(surface);
diff --git a/src/modules/mod_png/trgt_cairo_png.h b/src/modules/mod_png/trgt_cairo_png.h
index cfc9473..8e8e5fb 100644
--- a/src/modules/mod_png/trgt_cairo_png.h
+++ b/src/modules/mod_png/trgt_cairo_png.h
@@ -1,6 +1,6 @@
 /* === S Y N F I G ========================================================= */
 /*!	\file trgt_cairo_png.h
-**	\brief Template Header
+**	\brief Template Header Target Png Cairo Module
 **
 **	$Id$
 **
@@ -47,7 +47,7 @@ class cairo_png_trgt : public synfig::Target_Cairo
 {
 	SYNFIG_TARGET_MODULE_EXT
 private:
-	int w,h;
+	//int w,h;
 
 	bool multi_image;
 	int imagecount;
diff --git a/src/modules/mod_png/trgt_png.cpp b/src/modules/mod_png/trgt_png.cpp
index d775cf3..166c619 100644
--- a/src/modules/mod_png/trgt_png.cpp
+++ b/src/modules/mod_png/trgt_png.cpp
@@ -36,10 +36,10 @@
 #include <png.h>
 #include <ETL/stringf>
 #include <cstdio>
-#include <cstring>
 #include <algorithm>
 #include <functional>
 #include <ETL/misc>
+#include <string.h>
 
 #endif
 
@@ -78,16 +78,18 @@ png_trgt::png_out_warning(png_struct *png_data,const char *msg)
 
 //Target *png_trgt::New(const char *filename){	return new png_trgt(filename);}
 
-png_trgt::png_trgt(const char *Filename,
-				   const synfig::TargetParam&  params )
-{
-	file=NULL;
-	filename=Filename;
-	buffer=NULL;
-	ready=false;
-	color_buffer=0;
-	sequence_separator=params.sequence_separator;
-}
+png_trgt::png_trgt(const char *Filename, const synfig::TargetParam &params):
+	file(NULL),
+	png_ptr(NULL),
+	info_ptr(NULL),
+	multi_image(),
+	ready(false),
+	imagecount(),
+	filename(Filename),
+	buffer(NULL),
+	color_buffer(NULL),
+	sequence_separator(params.sequence_separator)
+{ }
 
 png_trgt::~png_trgt()
 {
diff --git a/src/modules/mod_png/trgt_png.h b/src/modules/mod_png/trgt_png.h
index 71e5357..750ce0c 100644
--- a/src/modules/mod_png/trgt_png.h
+++ b/src/modules/mod_png/trgt_png.h
@@ -46,7 +46,7 @@ class png_trgt : public synfig::Target_Scanline
 	SYNFIG_TARGET_MODULE_EXT
 private:
 	FILE *file;
-	int w,h;
+	//int w,h;
 	png_structp png_ptr;
 	png_infop info_ptr;
 
diff --git a/src/modules/mod_png/trgt_png_spritesheet.cpp b/src/modules/mod_png/trgt_png_spritesheet.cpp
new file mode 100644
index 0000000..2ed0270
--- /dev/null
+++ b/src/modules/mod_png/trgt_png_spritesheet.cpp
@@ -0,0 +1,480 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file trgt_png_spriteengine.cpp
+**	\brief png_trgt Target Module
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2007 Chris Moore
+**	Copyright (c) 2013 Moritz Grosch (LittleFox) <littlefox at fsfe.org>
+**
+**  Based on trgt_png.cpp
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+**
+** === N O T E S ===========================================================
+**
+** ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "trgt_png_spritesheet.h"
+#include <png.h>
+#include <ETL/stringf>
+#include <cstdio>
+#include <cstring> 
+#include <algorithm>
+#include <functional>
+#include <ETL/misc>
+#include <iostream>
+
+#endif
+
+/* === M A C R O S ========================================================= */
+
+using namespace synfig;
+using namespace std;
+using namespace etl;
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_TARGET_INIT(png_trgt_spritesheet);
+SYNFIG_TARGET_SET_NAME(png_trgt_spritesheet,"png-spritesheet");
+SYNFIG_TARGET_SET_EXT(png_trgt_spritesheet,"png");
+SYNFIG_TARGET_SET_VERSION(png_trgt_spritesheet,"0.1");
+SYNFIG_TARGET_SET_CVS_ID(png_trgt_spritesheet,"$Id$");
+
+/* === M E T H O D S ======================================================= */
+
+void
+png_trgt_spritesheet::png_out_error(png_struct *png_data,const char *msg)
+{
+    png_trgt_spritesheet *me=(png_trgt_spritesheet*)png_get_error_ptr(png_data);
+    synfig::error(strprintf("png_trgt_spritesheet: error: %s",msg));
+    me->ready=false;
+}
+
+void
+png_trgt_spritesheet::png_out_warning(png_struct *png_data,const char *msg)
+{
+    png_trgt_spritesheet *me=(png_trgt_spritesheet*)png_get_error_ptr(png_data);
+    synfig::warning(strprintf("png_trgt_spritesheet: warning: %s",msg));
+    me->ready=false;
+}
+
+
+//Target *png_trgt::New(const char *filename){	return new png_trgt(filename);}
+
+png_trgt_spritesheet::png_trgt_spritesheet(const char *Filename, const synfig::TargetParam &params):
+	ready(false),
+	initialized(false),
+	imagecount(),
+	lastimage(),
+	numimages(),
+	cur_y(0),
+	cur_row(0),
+	cur_col(0),
+	params(params),
+	color_data(0),
+	sheet_width(0),
+	sheet_height(0),
+	in_file_pointer(0),
+	filename(Filename),
+	sequence_separator(params.sequence_separator),
+	overflow_buff(0)
+{
+	cout << "png_trgt_spritesheet() " << params.offset_x << " " << params.offset_y << endl;
+}
+
+png_trgt_spritesheet::~png_trgt_spritesheet()
+{
+	cout << "~png_trgt_spritesheet()" << endl;
+	if (ready)
+		write_png_file ();
+	if (color_data)
+	{
+		for (unsigned int i = 0; i < sheet_height; i++)
+			delete []color_data[i];
+		delete []color_data;
+	}
+	if (overflow_buff)
+		delete []overflow_buff;
+}
+
+bool
+png_trgt_spritesheet::set_rend_desc(RendDesc *given_desc)
+{
+	cout << "set_rend_desc()" << endl;
+    //given_desc->set_pixel_format(PixelFormat((int)PF_RGB|(int)PF_A));
+    desc=*given_desc;
+    imagecount=desc.get_frame_start();
+    lastimage=desc.get_frame_end();
+    numimages = (lastimage - imagecount) + 1;		
+
+	overflow_buff = new Color[desc.get_w()];
+	
+	//Reset on uninitialized values
+	if ((params.columns == 0) || (params.rows == 0))
+	{
+		cout << "Uninitialized sheet parameteras. Reset parameters." << endl;
+		params.columns = numimages;
+		params.rows = 1;
+		params.append = true;
+		params.dir = TargetParam::HR;
+	}
+
+	//Break on overflow
+	if (params.columns * params.rows < numimages)
+	{
+		cout << "Sheet overflow. Break." << endl;
+		synfig::error("Bad sheet parameters. Sheet overflow.");
+		return false;
+	}
+	
+	cout << "Frame count" << numimages << endl;
+
+	bool is_loaded = false;
+
+	if (params.append)
+	{
+		in_file_pointer = fopen(filename.c_str(), "rb");
+		if (!in_file_pointer)
+			synfig::error(strprintf("[read_png_file] File %s could not be opened for reading", filename.c_str()));
+		else
+		{
+			is_loaded = load_png_file();
+			if (!is_loaded)
+				fclose(in_file_pointer);
+		}
+	}
+		
+	//I select such size which appropriate to contain whole sprite sheet.
+	unsigned int target_width = params.columns * desc.get_w() + params.offset_x;
+	unsigned int target_height = params.rows * desc.get_h() + params.offset_y;
+	sheet_width = in_image.width > target_width? in_image.width : target_width;
+	sheet_height = in_image.height > target_height? in_image.height : target_height;
+
+	if (sheet_width * sheet_height > 5000 * 2000)
+	{
+		synfig::error(strprintf(_("The image is too large. It's size must be not more than 5000*2000=10000000 px. Now is %d*%d=%d px."), 
+		                          sheet_width, sheet_height, sheet_width * sheet_height));
+		return false;
+	}
+	
+	cout << "Sheet size: " << sheet_width << "x" << sheet_height << endl;
+
+	cout << "Color size: " << sizeof(Color) << endl;
+	
+	color_data = new Color*[sheet_height];
+	for (unsigned int i = 0; i < sheet_height; i++)
+		color_data[i] = new Color[sheet_width];
+	
+	if (is_loaded)
+		ready = read_png_file();
+	else
+		ready = true;
+	
+    return true;
+}
+
+void
+png_trgt_spritesheet::end_frame()
+{
+	cout << "end_frame()" << endl;
+		
+    imagecount++;
+	cur_y = 0;
+	if (params.dir == TargetParam::HR)
+	{
+		//Horisontal render. Columns increment
+		cur_col++;
+		if (cur_col >= (unsigned int)params.columns)
+		{
+			cur_row++;
+			cur_col = 0;
+		}
+	}
+	else
+	{
+		//Vertical render. Rows increment.
+		cur_row++;
+		if (cur_row >= (unsigned int) params.rows)
+		{
+			cur_col++;
+			cur_row = 0;
+		}
+	}
+}
+
+bool
+png_trgt_spritesheet::start_frame(synfig::ProgressCallback *callback)
+{
+	cout << "start_frame()" << endl;
+    if(callback)
+		callback->task(strprintf("%s, (frame %d/%d)", filename.c_str(), 
+		                         imagecount - (lastimage - numimages), numimages).c_str());
+
+    return true;
+}
+
+Color *
+png_trgt_spritesheet::start_scanline(int /*scanline*/)
+{
+	unsigned int y = cur_y + params.offset_y + cur_row * desc.get_h();
+	unsigned int x = cur_col * desc.get_w() + params.offset_x;
+	if ((x + desc.get_w() > sheet_width) || (y > sheet_height))
+	{
+		cout << "Buffer overflow. x: " << x << " y: " << y << endl; 
+		//TODO: Fix exception processing outside the module.
+		return overflow_buff; //Spike. Bad exception processing
+	}
+    return &color_data[y][x];
+}
+
+bool
+png_trgt_spritesheet::end_scanline()
+{
+	cur_y++;
+    return true;
+}
+
+//The func only loads file. Reading into the buffer in read_png_file().
+bool
+png_trgt_spritesheet::load_png_file()
+{
+	cout << "load_png_file()" << endl;
+
+    char header[8];    // 8 is the maximum size that can be checked
+
+	//Reads header for next checking.
+    int length = fread(header, 1, 8, in_file_pointer);
+    if ((length != 8) || png_sig_cmp((unsigned char *)header, 0, 8))
+	{
+		synfig::error(strprintf("[read_png_file] File %s is not recognized as a PNG file", filename.c_str()));
+		return false;
+	}
+
+    /* initialize stuff */
+    in_image.png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+
+    if (!in_image.png_ptr)
+	{
+		synfig::error("[read_png_file] png_create_read_struct failed");
+		return false;
+	}
+
+    in_image.info_ptr = png_create_info_struct(in_image.png_ptr);
+    if (!in_image.info_ptr)
+	{
+		synfig::error("[read_png_file] png_create_info_struct failed");
+		return false;
+	}
+
+    if (setjmp(png_jmpbuf(in_image.png_ptr)))
+	{
+		synfig::error("[read_png_file] Error during init_io");
+		return false;
+	}
+
+    png_init_io(in_image.png_ptr, in_file_pointer);
+    png_set_sig_bytes(in_image.png_ptr, 8);
+
+    png_read_info(in_image.png_ptr, in_image.info_ptr);
+
+    in_image.width = png_get_image_width(in_image.png_ptr, in_image.info_ptr);
+    in_image.height = png_get_image_height(in_image.png_ptr, in_image.info_ptr);
+	cout << "Img size: " << in_image.width << "x" << in_image.height << endl;
+    in_image.color_type = png_get_color_type(in_image.png_ptr, in_image.info_ptr);
+    in_image.bit_depth = png_get_bit_depth(in_image.png_ptr, in_image.info_ptr);
+
+    png_read_update_info(in_image.png_ptr, in_image.info_ptr);
+
+
+    /* read file */
+    if (setjmp(png_jmpbuf(in_image.png_ptr)))
+	{
+        synfig::error("[read_png_file] Error during read_image");
+		return false;
+	}
+
+	return true;
+}
+
+bool 
+png_trgt_spritesheet::read_png_file()
+{
+	cout << "read_png_file()" << endl;
+	//Byte buffer for png data
+	png_bytep * row_pointers;
+    row_pointers = new png_bytep[in_image.height];
+    for (unsigned int y = 0; y < in_image.height; y++)
+            row_pointers[y] = new png_byte[png_get_rowbytes(in_image.png_ptr,in_image.info_ptr)];
+	cout << "row_pointers created" << endl;
+	
+	png_read_image(in_image.png_ptr, row_pointers);
+	cout << "image read" << endl;
+	
+    if (png_get_color_type(in_image.png_ptr, in_image.info_ptr) == PNG_COLOR_TYPE_RGB)
+	{
+        synfig::error("[process_file] input file is PNG_COLOR_TYPE_RGB but must be PNG_COLOR_TYPE_RGBA "
+               "(lacks the alpha channel)");
+		return false;
+	}
+
+    if (png_get_color_type(in_image.png_ptr, in_image.info_ptr) != PNG_COLOR_TYPE_RGBA)
+	{
+        synfig::error(strprintf("[process_file] color_type of input file must be PNG_COLOR_TYPE_RGBA (%d) (is %d)",
+			PNG_COLOR_TYPE_RGBA, png_get_color_type(in_image.png_ptr, in_image.info_ptr)));
+		return false;
+	}
+
+	cout << "colors checked" << endl;
+
+	//Gamma correction for PNG. I took 2.2 value from 
+	//http://www.libpng.org/pub/png/spec/1.2/PNG-GammaAppendix.html
+	//Also see gamma.h and gamma.cpp
+	Gamma gamma_png(2.2);
+	
+	//From png bytes to synfig::Color convertion
+    for (unsigned int y = 0; y < in_image.height; y++) 
+	{
+        png_byte* row = row_pointers[y];
+        for (unsigned int x = 0; x < in_image.width; x++) 
+		{
+            png_byte* ptr = &(row[x*4]);
+			color_data[y][x].set_r(gamma_png.r_U8_to_F32(ptr[0]));
+			color_data[y][x].set_g(gamma_png.g_U8_to_F32(ptr[1]));
+			color_data[y][x].set_b(gamma_png.b_U8_to_F32(ptr[2]));
+			color_data[y][x].set_a((float)ptr[3] / 255.0f);
+        }
+    }
+
+	cout << "colors converted" << endl;
+	
+    for (unsigned int y = 0; y < in_image.height; y++)
+            delete []row_pointers[y];
+    delete row_pointers;
+	cout << "row_pointers deleted" << endl;
+	return true;
+}
+
+bool 
+png_trgt_spritesheet::write_png_file()
+{
+	cout << "write_png_file()" << endl;
+	png_structp png_ptr;
+	png_infop info_ptr;
+	FILE* file;
+	unsigned char buffer [4 * sheet_width];
+
+	
+    if (filename == "-")
+    	file=stdout;
+    else
+    	file=fopen(filename.c_str(), POPEN_BINARY_WRITE_TYPE);
+
+	
+    png_ptr=png_create_write_struct(PNG_LIBPNG_VER_STRING, (png_voidp)this,png_out_error, png_out_warning);
+    if (!png_ptr)
+    {
+        synfig::error("Unable to setup PNG struct");
+        fclose(file);
+        return false;
+    }
+
+	
+    info_ptr= png_create_info_struct(png_ptr);
+    if (!info_ptr)
+    {
+        synfig::error("Unable to setup PNG info struct");
+        fclose(file);
+        png_destroy_write_struct(&png_ptr,(png_infopp)NULL);
+        return false;
+    }
+
+	
+    if (setjmp(png_jmpbuf(png_ptr)))
+    {
+        synfig::error("Unable to setup longjump");
+        png_destroy_write_struct(&png_ptr, &info_ptr);
+        fclose(file);
+        return false;
+    }
+    png_init_io(png_ptr,file);
+    png_set_filter(png_ptr,0,PNG_FILTER_NONE);
+
+	
+    setjmp(png_jmpbuf(png_ptr));
+
+	png_set_IHDR(png_ptr,info_ptr,
+	             sheet_width,
+	             sheet_height,
+	             8,
+	             (get_alpha_mode()==TARGET_ALPHA_MODE_KEEP)?PNG_COLOR_TYPE_RGBA:PNG_COLOR_TYPE_RGB,
+	             PNG_INTERLACE_NONE,
+	             PNG_COMPRESSION_TYPE_DEFAULT,
+	             PNG_FILTER_TYPE_DEFAULT);
+    // Write the gamma
+    //png_set_gAMA(png_ptr, info_ptr,1.0/gamma().get_gamma());
+    png_set_gAMA(png_ptr, info_ptr,gamma().get_gamma());
+
+    // Write the physical size
+    png_set_pHYs(png_ptr,info_ptr,round_to_int(desc.get_x_res()),round_to_int(desc.get_y_res()),PNG_RESOLUTION_METER);
+
+    char title      [] = "Title";
+    char description[] = "Description";
+    char software   [] = "Software";
+    char synfig     [] = "SYNFIG";
+    // Output any text info along with the file
+    png_text comments[]=
+    {
+        {   PNG_TEXT_COMPRESSION_NONE, title, const_cast<char *>(get_canvas()->get_name().c_str()),
+            strlen(get_canvas()->get_name().c_str())
+        },
+        {   PNG_TEXT_COMPRESSION_NONE, description, const_cast<char *>(get_canvas()->get_description().c_str()),
+            strlen(get_canvas()->get_description().c_str())
+        },
+        { PNG_TEXT_COMPRESSION_NONE, software, synfig, strlen(synfig) },
+    };
+    png_set_text(png_ptr,info_ptr,comments,sizeof(comments)/sizeof(png_text));
+
+    png_write_info_before_PLTE(png_ptr, info_ptr);
+    png_write_info(png_ptr, info_ptr);
+	//Writing spritesheet into png image
+	for (unsigned int y = 0; y < sheet_height; y++)
+	{
+		convert_color_format(buffer, 
+		                     color_data[y], 
+		                     sheet_width, 
+		                     PF_RGB|(get_alpha_mode()==TARGET_ALPHA_MODE_KEEP)?PF_A:PF_RGB, //Note: PF_RGB == 0
+		                     gamma());
+	
+		setjmp(png_jmpbuf(png_ptr));
+		png_write_row(png_ptr,buffer);
+	}
+    if(file)
+    {
+        png_write_end(png_ptr,info_ptr);
+        png_destroy_write_struct(&png_ptr, &info_ptr);
+
+        fclose(file);
+    }
+	return true;
+}
diff --git a/src/modules/mod_png/trgt_png.h b/src/modules/mod_png/trgt_png_spritesheet.h
similarity index 63%
copy from src/modules/mod_png/trgt_png.h
copy to src/modules/mod_png/trgt_png_spritesheet.h
index 71e5357..9882c68 100644
--- a/src/modules/mod_png/trgt_png.h
+++ b/src/modules/mod_png/trgt_png_spritesheet.h
@@ -1,11 +1,15 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file trgt_png.h
-**	\brief Template Header
+/*!	\file trgt_png_spritesheet.h
+**	\brief Sprite sheet render target.
 **
 **	$Id$
 **
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**  Copyright (c) 2013		Moritz Grosch (LittleFox) <littlefox at fsfe.org>
+**  Copyright (c) 2015		Denis Zdorovtsov (mrtrizer) <mrtrizer at gmail.com>
+**
+**  Based on trgt_png.h
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -24,8 +28,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_TRGT_PNG_H
-#define __SYNFIG_TRGT_PNG_H
+#ifndef __SYNFIG_TRGT_PNG_SPRITESHEET_H
+#define __SYNFIG_TRGT_PNG_SPRITESHEET_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -41,26 +45,47 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class png_trgt : public synfig::Target_Scanline
+class png_trgt_spritesheet : public synfig::Target_Scanline
 {
 	SYNFIG_TARGET_MODULE_EXT
 private:
-	FILE *file;
-	int w,h;
-	png_structp png_ptr;
-	png_infop info_ptr;
+	struct PngImage
+	{
+		PngImage():
+			width(0),
+			height(0),
+			color_type(0),
+			bit_depth(0){}
+		unsigned int width;
+		unsigned int height;
+		png_byte color_type;
+		png_byte bit_depth;
+		png_structp png_ptr;
+		png_infop info_ptr;
+	};
 
 	static void png_out_error(png_struct *png,const char *msg);
 	static void png_out_warning(png_struct *png,const char *msg);
-	bool multi_image,ready;
+	bool ready;
+	bool initialized;
 	int imagecount;
+	int lastimage;
+	int numimages;
+	unsigned int cur_y;
+	unsigned int cur_row;
+	unsigned int cur_col;
+	synfig::TargetParam params;
+	synfig::Color ** color_data;
+	unsigned int sheet_width;
+	unsigned int sheet_height;
+	FILE * in_file_pointer;
+	PngImage in_image;
 	synfig::String filename;
-	unsigned char *buffer;
-	synfig::Color *color_buffer;
 	synfig::String sequence_separator;
+	synfig::Color * overflow_buff;
 public:
-	png_trgt(const char *filename, const synfig::TargetParam& /* params */);
-	virtual ~png_trgt();
+	png_trgt_spritesheet(const char *filename, const synfig::TargetParam& /* params */);
+	virtual ~png_trgt_spritesheet();
 
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
@@ -68,6 +93,9 @@ public:
 
 	virtual synfig::Color * start_scanline(int scanline);
 	virtual bool end_scanline();
+	bool read_png_file();
+	bool write_png_file();
+	bool load_png_file();
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_ppm/Makefile.am b/src/modules/mod_ppm/Makefile.am
index f2e4bfd..d7c1a80 100644
--- a/src/modules/mod_ppm/Makefile.am
+++ b/src/modules/mod_ppm/Makefile.am
@@ -32,4 +32,4 @@ libmod_ppm_la_LIBADD = \
 	@SYNFIG_LIBS@
 
 
-EXTRA_DIST= mod_ppm.nsh unmod_ppm.nsh trgt_mpg.cpp trgt_mpg.h
+EXTRA_DIST= mod_ppm.nsh unmod_ppm.nsh
diff --git a/src/modules/mod_ppm/Makefile.in b/src/modules/mod_ppm/Makefile.in
index 22201e4..04dd786 100644
--- a/src/modules/mod_ppm/Makefile.in
+++ b/src/modules/mod_ppm/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
@@ -446,7 +459,7 @@ libmod_ppm_la_LIBADD = \
 	../../synfig/libsynfig.la \
 	@SYNFIG_LIBS@
 
-EXTRA_DIST = mod_ppm.nsh unmod_ppm.nsh trgt_mpg.cpp trgt_mpg.h
+EXTRA_DIST = mod_ppm.nsh unmod_ppm.nsh
 all: all-am
 
 .SUFFIXES:
diff --git a/src/modules/mod_ppm/mptr_ppm.cpp b/src/modules/mod_ppm/mptr_ppm.cpp
index 9fcec9f..f034d5b 100644
--- a/src/modules/mod_ppm/mptr_ppm.cpp
+++ b/src/modules/mod_ppm/mptr_ppm.cpp
@@ -57,25 +57,17 @@ SYNFIG_IMPORTER_SET_NAME(ppm_mptr,"ppm");
 SYNFIG_IMPORTER_SET_EXT(ppm_mptr,"ppm");
 SYNFIG_IMPORTER_SET_VERSION(ppm_mptr,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(ppm_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(ppm_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
-ppm_mptr::ppm_mptr(const char *file)
-{
-	filename=file;
-}
-
-ppm_mptr::~ppm_mptr()
-{
-}
-
 bool
 ppm_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc*/, Time, synfig::ProgressCallback *cb)
 {
-	SmartFILE file(fopen(filename.c_str(),"rb"));
+	SmartFILE file(fopen(identifier.filename.c_str(),"rb"));
 	if(!file)
 	{
-		if(cb)cb->error("pp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),filename.c_str()));
+		if(cb)cb->error("pp_mptr::GetFrame(): "+strprintf(_("Unable to open %s"),identifier.filename.c_str()));
 		return false;
 	}
 	int w,h;
@@ -83,7 +75,7 @@ ppm_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &/*renddesc
 
 	if(fgetc(file.get())!='P' || fgetc(file.get())!='6')
 	{
-		if(cb)cb->error("pp_mptr::GetFrame(): "+strprintf(_("%s was not in PPM format"),filename.c_str()));
+		if(cb)cb->error("pp_mptr::GetFrame(): "+strprintf(_("%s was not in PPM format"),identifier.filename.c_str()));
 		return false;
 	}
 
diff --git a/src/modules/mod_ppm/mptr_ppm.h b/src/modules/mod_ppm/mptr_ppm.h
index 0c6f119..475e3c0 100644
--- a/src/modules/mod_ppm/mptr_ppm.h
+++ b/src/modules/mod_ppm/mptr_ppm.h
@@ -30,7 +30,6 @@
 /* === H E A D E R S ======================================================= */
 
 #include <synfig/importer.h>
-#include <synfig/string.h>
 
 /* === M A C R O S ========================================================= */
 
@@ -40,13 +39,8 @@
 
 class ppm_mptr : public synfig::Importer
 {
-	SYNFIG_IMPORTER_MODULE_EXT
-private:
-	synfig::String filename;
+	SYNFIG_IMPORTER_MODULE_DECLARATIONS(ppm_mptr)
 public:
-	ppm_mptr(const char *filename);
-	~ppm_mptr();
-
 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
 }; // END of class ppm_mptr
 
diff --git a/src/modules/mod_ppm/trgt_mpg.cpp b/src/modules/mod_ppm/trgt_mpg.cpp
deleted file mode 100644
index 5026a76..0000000
--- a/src/modules/mod_ppm/trgt_mpg.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!	\file trgt_mpg.cpp
-**	\brief bsd_mpeg1 Target Module
-**
-**	$Id$
-**
-**	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**	This package is free software; you can redistribute it and/or
-**	modify it under the terms of the GNU General Public License as
-**	published by the Free Software Foundation; either version 2 of
-**	the License, or (at your option) any later version.
-**
-**	This package is distributed in the hope that it will be useful,
-**	but WITHOUT ANY WARRANTY; without even the implied warranty of
-**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-**	General Public License for more details.
-**	\endlegal
-**
-** === N O T E S ===========================================================
-**
-** ========================================================================= */
-
-/* === H E A D E R S ======================================================= */
-
-#ifdef USING_PCH
-#	include "pch.h"
-#else
-#ifdef HAVE_CONFIG_H
-#	include <config.h>
-#endif
-
-#include <ETL/stringf>
-#include "trgt_mpg.h"
-#include <cstdio>
-#include <iostream>
-#include <algorithm>
-#include <functional>
-#endif
-
-/* === M A C R O S ========================================================= */
-
-using namespace synfig;
-using namespace std;
-using namespace etl;
-
-/* === G L O B A L S ======================================================= */
-
-const char bsd_mpeg1::Name[]="mpeg1";
-const char bsd_mpeg1::Ext[]="mpg";
-
-#define tmp_dir		string("/tmp/")
-
-/* === M E T H O D S ======================================================= */
-
-#error This code has tmpfile vulnerabilites
-
-Target *
-bsd_mpeg1::New(const char *filename)
-{
-	return new bsd_mpeg1(filename);
-}
-
-bsd_mpeg1::bsd_mpeg1(const char *Filename,
-					 const synfig::TargetParam& /* params */)
-{
-	filename=Filename;
-	passthru=ppm::New((tmp_dir+"temp.ppm").c_str());
-	paramfile=NULL;
-
-}
-
-bsd_mpeg1::~bsd_mpeg1()
-{
-	if(paramfile)
-		fclose(paramfile);
-	delete passthru;
-	cerr<<"Encoding "<<filename<<"with \"mpeg_encode\" utility..."<<endl;
-	if(system("mpeg_encode -float-dct -realquiet /tmp/temp.param")!=0)
-	{
-		cerr<<"Failed to encode "<<filename<<"with \"mpeg_encode\" utility"<<endl;
-		cerr<<"Are you sure it is installed?"<<endl;
-	}
-}
-
-bool
-bsd_mpeg1::set_rend_desc(RendDesc *given_desc)
-{
-	if(paramfile)
-		fclose(paramfile);
-
-
-	paramfile=fopen((tmp_dir+"temp.param").c_str(),"wt");
-	int bitrate=150; // kbytes per second
-	int buffer_drift=50; // bitrate drift (in kbytes per second)
-
-	bitrate*=8*1024;
-	buffer_drift*=8*1024;
-
-	fprintf(paramfile,
-		"PATTERN		IBBPBBPBBPBBPBBP\n"
-		"OUTPUT		%s\n"
-		"BASE_FILE_FORMAT	PPM\n"
-		"INPUT_CONVERT	*\n"
-		"GOP_SIZE	16\n"
-		"SLICES_PER_FRAME	1\n"
-		"INPUT_DIR	\n"
-		"PIXEL		HALF\n"
-		"RANGE		10\n"
-		"PSEARCH_ALG	LOGARITHMIC\n"
-		"BSEARCH_ALG	CROSS2\n"
-//		"IQSCALE		8\n"
-//		"PQSCALE		10\n"
-//		"BQSCALE		25\n"
-		"IQSCALE		3\n"
-		"PQSCALE		5\n"
-		"BQSCALE		10\n"
-		"REFERENCE_FRAME	ORIGINAL\n"
-		"BIT_RATE  %d\n"
-//		"BIT_RATE  1000000\n"
-//		"BUFFER_SIZE 327680\n"
-		"BUFFER_SIZE %d\n"
-		,filename.c_str(),bitrate,buffer_drift);
-	 float fps=given_desc->get_frame_rate();
-
-	// Valid framerates:
-	// 23.976, 24, 25, 29.97, 30, 50 ,59.94, 60
-
-	if(fps <24.0)
-	{
-		fprintf(paramfile,"FRAME_RATE 23.976\n");
-		given_desc->set_frame_rate(23.976);
-	}
-	if(fps>=24.0 && fps <25.0)
-	{
-		fprintf(paramfile,"FRAME_RATE 24\n");
-		given_desc->set_frame_rate(24);
-	}
-	if(fps>=25.0 && fps <29.97)
-	{
-		fprintf(paramfile,"FRAME_RATE 25\n");
-		given_desc->set_frame_rate(25);
-	}
-	if(fps>=29.97 && fps <30.0)
-	{
-		fprintf(paramfile,"FRAME_RATE 29.97\n");
-		given_desc->set_frame_rate(29.97);
-	}
-	if(fps>=29.97 && fps <30.0)
-	{
-		fprintf(paramfile,"FRAME_RATE 29.97\n");
-		given_desc->set_frame_rate(29.97);
-	}
-	if(fps>=30.0 && fps <50.0)
-	{
-		fprintf(paramfile,"FRAME_RATE 30\n");
-		given_desc->set_frame_rate(30.0);
-	}
-	if(fps>=50.0 && fps <59.94)
-	{
-		fprintf(paramfile,"FRAME_RATE 50\n");
-		given_desc->set_frame_rate(50);
-	}
-	if(fps>=59.94)
-	{
-		fprintf(paramfile,"FRAME_RATE 59.94\n");
-		given_desc->set_frame_rate(59.94);
-	}
-
-	// Make sure that the width and height
-	// are multiples of 8
-	given_desc->set_w((given_desc->get_w()+4)/8*8);
-	given_desc->set_h((given_desc->get_h()+4)/8*8);
-
-	if(!passthru->set_rend_desc(given_desc))
-		return false;
-
-	desc=*given_desc;
-
-	fprintf(paramfile,
-		"INPUT\n"
-		"tmp/temp*.ppm	[%04d-%04d]\n"
-		"END_INPUT\n",desc.get_frame_start(),desc.get_frame_end()-1);
-
-	fclose(paramfile);
-	paramfile=NULL;
-
-	return true;
-}
-
-void
-bsd_mpeg1::end_frame()
-{
-	passthru->end_frame();
-}
-
-bool
-bsd_mpeg1::start_frame(synfig::ProgressCallback *callback)
-{
-	return passthru->start_frame(callback);
-}
-
-unsigned char *
-bsd_mpeg1::start_scanline(int scanline)
-{
-	return passthru->start_scanline(scanline);
-}
-
-bool
-bsd_mpeg1::end_scanline(void)
-{
-	return passthru->end_scanline();
-}
diff --git a/src/modules/mod_ppm/trgt_mpg.h b/src/modules/mod_ppm/trgt_mpg.h
deleted file mode 100644
index f3ad534..0000000
--- a/src/modules/mod_ppm/trgt_mpg.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!	\file trgt_mpg.h
-**	\brief Template Header
-**
-**	$Id$
-**
-**	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**	This package is free software; you can redistribute it and/or
-**	modify it under the terms of the GNU General Public License as
-**	published by the Free Software Foundation; either version 2 of
-**	the License, or (at your option) any later version.
-**
-**	This package is distributed in the hope that it will be useful,
-**	but WITHOUT ANY WARRANTY; without even the implied warranty of
-**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-**	General Public License for more details.
-**	\endlegal
-**
-** === N O T E S ===========================================================
-**
-** ========================================================================= */
-
-/* === S T A R T =========================================================== */
-
-#ifndef __SYNFIG_TRGT_MPG_H
-#define __SYNFIG_TRGT_MPG_H
-
-/* === H E A D E R S ======================================================= */
-
-#include <synfig/synfig.h>
-#include <cstdio>
-#include "trgt_ppm.h"
-
-/* === M A C R O S ========================================================= */
-
-/* === T Y P E D E F S ===================================================== */
-
-/* === C L A S S E S & S T R U C T S ======================================= */
-
-
-class bsd_mpeg1 : public synfig::Target
-{
-public:
-private:
-// 	synfig::RendDesc desc;
- 	synfig::Target *passthru;
- 	String filename;
-	FILE *paramfile;
-public:
-	bsd_mpeg1(const char *filename, const synfig::TargetParam& /* params */);
-
-	virtual bool set_rend_desc(synfig::RendDesc *desc);
-	virtual bool start_frame(synfig::ProgressCallback *cb);
-	virtual void end_frame();
-
-	virtual ~bsd_mpeg1();
-
-
-	virtual unsigned char * start_scanline(int scanline);
-	virtual bool end_scanline(void);
-
-	static synfig::Target *New(const char *filename);
-
-	static const char Name[];
-	static const char Ext[];
-
-};
-
-/* === E N D =============================================================== */
-
-#endif
diff --git a/src/modules/mod_ppm/trgt_ppm.cpp b/src/modules/mod_ppm/trgt_ppm.cpp
index 7681530..052a257 100644
--- a/src/modules/mod_ppm/trgt_ppm.cpp
+++ b/src/modules/mod_ppm/trgt_ppm.cpp
@@ -55,14 +55,16 @@ SYNFIG_TARGET_SET_CVS_ID(ppm,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-ppm::ppm(const char *Filename, const synfig::TargetParam&  params )
+ppm::ppm(const char *Filename, const synfig::TargetParam &params):
+	imagecount(),
+	multi_image(false),
+	file(),
+	filename(Filename),
+	color_buffer(NULL),
+	buffer(NULL),
+	sequence_separator(params.sequence_separator)
 {
-	filename=Filename;
-	multi_image=false;
-	buffer=NULL;
-	color_buffer=0;
 	set_alpha_mode(TARGET_ALPHA_MODE_FILL);
-	sequence_separator=params.sequence_separator;
 }
 
 ppm::~ppm()
diff --git a/src/modules/mod_svg/Makefile.in b/src/modules/mod_svg/Makefile.in
index ba24c49..6a034f8 100644
--- a/src/modules/mod_svg/Makefile.in
+++ b/src/modules/mod_svg/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_svg/layer_svg.cpp b/src/modules/mod_svg/layer_svg.cpp
index 7ef1e2e..815b78f 100644
--- a/src/modules/mod_svg/layer_svg.cpp
+++ b/src/modules/mod_svg/layer_svg.cpp
@@ -58,7 +58,7 @@ SYNFIG_LAYER_SET_CVS_ID(svg_layer,"$Id: layer_svg.cpp 2240 2008-11-22 15:35:33Z
 /* === P R O C E D U R E S ================================================= */
 
 svg_layer::svg_layer():
-	Layer_PasteCanvas(),
+	Layer_Group(),
 	filename("none")
 {
 }
@@ -81,7 +81,7 @@ svg_layer::set_param(const String & param, const ValueBase &value)
 			}
 		}
 	}
-	return Layer_PasteCanvas::set_param(param,value);
+	return Layer_Group::set_param(param,value);
 }
 
 ValueBase
@@ -95,13 +95,13 @@ svg_layer::get_param(const String &param)const
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
-	return Layer_PasteCanvas::get_param(param);
+	return Layer_Group::get_param(param);
 }
 
 Layer::Vocab
 svg_layer::get_param_vocab()const
 {
-	Layer::Vocab ret(Layer_PasteCanvas::get_param_vocab());
+	Layer::Vocab ret(Layer_Group::get_param_vocab());
 
 	ret.push_back(ParamDesc("filename")
 		.set_local_name(_("Filename"))
diff --git a/src/modules/mod_svg/layer_svg.h b/src/modules/mod_svg/layer_svg.h
index b7aa25b..20a38cd 100644
--- a/src/modules/mod_svg/layer_svg.h
+++ b/src/modules/mod_svg/layer_svg.h
@@ -30,7 +30,7 @@
 
 #include <synfig/color.h>
 #include <synfig/vector.h>
-#include <synfig/layer_pastecanvas.h>
+#include <synfig/layer_group.h>
 #include <synfig/value.h>
 
 #include "svg_parser.h"
@@ -41,7 +41,7 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class svg_layer : public synfig::Layer_PasteCanvas
+class svg_layer : public synfig::Layer_Group
 {
 	SYNFIG_LAYER_MODULE_EXT
 
diff --git a/src/modules/mod_svg/svg_parser.cpp b/src/modules/mod_svg/svg_parser.cpp
index 17dc3d7..2376ea8 100644
--- a/src/modules/mod_svg/svg_parser.cpp
+++ b/src/modules/mod_svg/svg_parser.cpp
@@ -92,10 +92,15 @@ Svg_parser::load_svg_canvas(std::string _filepath,String &errors, String &warnin
 	return canvas;
 }
 
-Svg_parser::Svg_parser(){
-	uid=0;
-	kux=60;
-	set_canvas=0;//we must run parser_canvas method
+Svg_parser::Svg_parser():
+	nodeRoot(NULL),
+	uid(0),
+	kux(60),
+	set_canvas(0), //we must run parser_canvas method
+	ox(0),
+	oy(0),
+	locale(LC_NUMERIC, "C")
+{
 	// 0.5 in gamma parameter of color correct layer is 1/0.5 = 2 (thinking) it must be 2.2!!!!
 	gamma.set_gamma(2.2);
 }
@@ -429,7 +434,7 @@ Svg_parser::parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String par
 			layer_style=parent_style;
 		}
 		//build
-		root->set_attribute("type","PasteCanvas");
+		root->set_attribute("type","group");
 		root->set_attribute("active","true");
 		root->set_attribute("version","0.1");
 		if(!label.empty())	root->set_attribute("desc",label);
@@ -1060,7 +1065,7 @@ Svg_parser::build_radialGradient(xmlpp::Element* root,RadialGradient* data,SVGMa
 		if (mtx || data->transform) {
 			xmlpp::Element* layer=root->add_child("layer");
 
-			layer->set_attribute("type","PasteCanvas");
+			layer->set_attribute("type","group");
 			layer->set_attribute("active","true");
 			layer->set_attribute("version","0.1");
 			layer->set_attribute("desc",data->name);
@@ -1128,6 +1133,9 @@ Svg_parser::parser_linearGradient(const xmlpp::Node* node){
 		Glib::ustring link	=nodeElement->get_attribute_value("href");
 		Glib::ustring transform	=nodeElement->get_attribute_value("gradientTransform");
 
+		if(link.empty())
+			link = nodeElement->get_attribute_value("href","xlink");			
+
 		//resolve transformations
 		SVGMatrix* mtx=NULL;
 		if(!transform.empty())
@@ -1178,6 +1186,9 @@ Svg_parser::parser_radialGradient(const xmlpp::Node* node){
 		Glib::ustring link	=nodeElement->get_attribute_value("href");//basic
 		Glib::ustring transform	=nodeElement->get_attribute_value("gradientTransform");
 
+		if(link.empty())
+			link = nodeElement->get_attribute_value("href","xlink");
+
 		if (cx!=fx || cy!=fy)
 			std::cout<<"SVG Parser: ignoring focus attributes for radial gradient";
 
@@ -1440,7 +1451,7 @@ Svg_parser::build_vector (xmlpp::Element* root,String name,float x,float y,Strin
 
 xmlpp::Element*
 Svg_parser::nodeStartBasicLayer(xmlpp::Element* root, String name){
-	root->set_attribute("type","PasteCanvas");
+	root->set_attribute("type","group");
 	root->set_attribute("active","true");
 	root->set_attribute("version","0.1");
 	root->set_attribute("desc",name);
diff --git a/src/modules/mod_svg/svg_parser.h b/src/modules/mod_svg/svg_parser.h
index 36454a4..f973f47 100644
--- a/src/modules/mod_svg/svg_parser.h
+++ b/src/modules/mod_svg/svg_parser.h
@@ -36,6 +36,7 @@
 #include <cstdlib>
 #include <cmath>
 #include <cstring>
+#include <glibmm/ustring.h>
 
 #include <libxml++/libxml++.h>
 #include <ETL/angle>
@@ -127,6 +128,8 @@ public:
 		//void set_id(String source);
 
 private:
+		ChangeLocale locale;
+	
 		/* === PARSERS ==================================== */
 		void parser_node(const xmlpp::Node* node);
 		//parser headers
diff --git a/src/modules/mod_yuv420p/Makefile.in b/src/modules/mod_yuv420p/Makefile.in
index 747280b..07b12de 100644
--- a/src/modules/mod_yuv420p/Makefile.in
+++ b/src/modules/mod_yuv420p/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -86,7 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -233,9 +236,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -267,6 +273,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -304,6 +314,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -321,6 +332,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
diff --git a/src/modules/mod_yuv420p/trgt_yuv.cpp b/src/modules/mod_yuv420p/trgt_yuv.cpp
index e02426c..9f66309 100644
--- a/src/modules/mod_yuv420p/trgt_yuv.cpp
+++ b/src/modules/mod_yuv420p/trgt_yuv.cpp
@@ -75,7 +75,7 @@ yuv::~yuv()
 }
 
 bool
-yuv::init()
+yuv::init(synfig::ProgressCallback *cb)
 {
 	if (!file)
 		return false;
diff --git a/src/modules/mod_yuv420p/trgt_yuv.h b/src/modules/mod_yuv420p/trgt_yuv.h
index 8ffa7bd..6d37a8b 100644
--- a/src/modules/mod_yuv420p/trgt_yuv.h
+++ b/src/modules/mod_yuv420p/trgt_yuv.h
@@ -58,7 +58,7 @@ public:
 	yuv(const char *filename, const synfig::TargetParam& /* params */);
 	virtual ~yuv();
 
-	virtual bool init();
+	virtual bool init(synfig::ProgressCallback *cb);
 	virtual bool set_rend_desc(synfig::RendDesc *desc);
 	virtual bool start_frame(synfig::ProgressCallback *cb);
 	virtual void end_frame();
diff --git a/src/modules/mptr_mplayer/mptr_mplayer.cpp b/src/modules/mptr_mplayer/mptr_mplayer.cpp
index 9e3d547..c0737c5 100644
--- a/src/modules/mptr_mplayer/mptr_mplayer.cpp
+++ b/src/modules/mptr_mplayer/mptr_mplayer.cpp
@@ -34,7 +34,7 @@
 #include <synfig/synfig.h>
 #include <ETL/stringf>
 #include "mptr_mplayer.h"
-#include <stdio.h>
+#include <cstdio>
 #include <iostream>
 #include <algorithm>
 #include <functional>
@@ -49,28 +49,17 @@ using namespace etl;
 
 /* === G L O B A L S ======================================================= */
 
-const char mplayer_mptr::Name[]="avi";
-const char mplayer_mptr::Ext[]="avi";
+SYNFIG_IMPORTER_INIT(mplayer_mptr);
+SYNFIG_IMPORTER_SET_NAME(mplayer_mptr,"mplayer");
+SYNFIG_IMPORTER_SET_EXT(mplayer_mptr,"avi");
+SYNFIG_IMPORTER_SET_VERSION(mplayer_mptr,"0.1");
+SYNFIG_IMPORTER_SET_CVS_ID(mplayer_mptr,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(mplayer_mptr, false);
 
 /* === M E T H O D S ======================================================= */
 
-Importer *
-mplayer_mptr::New(const char *file)
-{
-	return new mplayer_mptr(file);
-}
-
-mplayer_mptr::mplayer_mptr(const char *file)
-{
-	filename=file;
-}
-
-mplayer_mptr::~mplayer_mptr()
-{
-}
-
 bool
-mplayer_mptr::GetFrame(Time time, synfig::Surface &surface, synfig::ProgressCallback *)
+mplayer_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback)
 {
 
 #error This code has vulnerabilites: arbitrary shell command execution and tmpfile issues
@@ -78,7 +67,7 @@ mplayer_mptr::GetFrame(Time time, synfig::Surface &surface, synfig::ProgressCall
 	int ret;
 	ret=system(
 		strprintf("/usr/local/bin/mencoder \"%s\" -ovc rawrgb -ss %f -endpos 0 -nosound -o /tmp/tmp.synfig.rgbdata | grep \"VIDEO\" > /tmp/tmp.synfig.size",
-			filename.c_str(),
+			identifier.filename.c_str(),
 			time
 		).c_str()
 	);
@@ -105,7 +94,7 @@ mplayer_mptr::GetFrame(Time time, synfig::Surface &surface, synfig::ProgressCall
 	int w=4,h=4,x,y;
 	char bleh[500];
 
-	fscanf(sizefile,"%s %s %dx%d",bleh,bleh,&w,&h);
+	fscanf(sizefile,"%499s %499s %dx%d",bleh,bleh,&w,&h);
 
 	cerr<<strprintf("w:%d, h:%d, time:%f",w,h,time)<<endl;
 	fseek(rgbfile,2047+3*8,SEEK_CUR);
diff --git a/src/modules/mptr_mplayer/mptr_mplayer.h b/src/modules/mptr_mplayer/mptr_mplayer.h
index e72dc6d..5aef196 100644
--- a/src/modules/mptr_mplayer/mptr_mplayer.h
+++ b/src/modules/mptr_mplayer/mptr_mplayer.h
@@ -29,9 +29,8 @@
 
 /* === H E A D E R S ======================================================= */
 
-#include <synfig/synfig.h>
-#include <stdio.h>
-#include "string.h"
+#include <synfig/importer.h>
+#include <cstdio>
 
 /* === M A C R O S ========================================================= */
 
@@ -41,21 +40,9 @@
 
 class mplayer_mptr : public synfig::Importer
 {
+	SYNFIG_IMPORTER_MODULE_DECLARATIONS(mplayer_mptr)
 public:
-private:
-	String filename;
-
-public:
-	mplayer_mptr(const char *filename);
-	~mplayer_mptr();
-
-
-	static const char Name[];
-	static const char Ext[];
-
-	virtual bool GetFrame(synfig::Time time, synfig::Surface &, synfig::ProgressCallback *);
-
-	static synfig::Importer *New(const char *filename);
+	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
 };
 
 /* === E N D =============================================================== */
diff --git a/src/synfig/Makefile.am b/src/synfig/Makefile.am
index 84f071b..d9f8caf 100644
--- a/src/synfig/Makefile.am
+++ b/src/synfig/Makefile.am
@@ -9,7 +9,6 @@ AM_CPPFLAGS = \
 	@INCLTDL@
 
 EXTRA_DIST = \
-	surfacenew.cpp \
 	pch.h \
 	synfig.nsh \
 	synfig.h \
@@ -20,25 +19,35 @@ LAYERHEADERS = \
 	layer_bitmap.h \
 	layer_composite.h \
 	layer_duplicate.h \
+	layer_group.h \
+	layer_meshtransform.h \
 	layer_mime.h \
 	layer_motionblur.h \
 	layer_pastecanvas.h \
 	layer_polygon.h \
 	layer_shape.h \
 	layer_solidcolor.h \
-	layer_skeleton.h
+	layer_sound.h \
+	layer_skeleton.h \
+	layer_skeletondeformation.h \
+	layer_switch.h
 
 LAYERSOURCES = \
 	layer_bitmap.cpp \
 	layer_composite.cpp \
 	layer_duplicate.cpp \
+	layer_group.cpp \
+	layer_meshtransform.cpp \
 	layer_mime.cpp \
 	layer_motionblur.cpp \
 	layer_pastecanvas.cpp \
 	layer_polygon.cpp \
 	layer_shape.cpp \
 	layer_solidcolor.cpp \
-	layer_skeleton.cpp
+	layer_sound.cpp \
+	layer_skeleton.cpp \
+	layer_skeletondeformation.cpp \
+	layer_switch.cpp
 
 
 TARGETHEADERS = \
@@ -128,7 +137,12 @@ VALUENODEHEADERS = \
 	valuenode_staticlist.h \
 	valuenode_bone.h \
 	valuenode_boneweightpair.h\
-	valuenode_wplist.h
+	valuenode_wplist.h \
+	valuenode_bonelink.h \
+	valuenode_average.h \
+	valuenode_dynamic.h \
+	valuenode_derivative.h \
+	valuenode_weightedaverage.h
 
 VALUENODESOURCES = \
 	valuenode_add.cpp \
@@ -188,13 +202,22 @@ VALUENODESOURCES = \
 	valuenode_staticlist.cpp \
 	valuenode_bone.cpp \
 	valuenode_boneweightpair.cpp\
-	valuenode_wplist.cpp
+	valuenode_wplist.cpp \
+	valuenode_bonelink.cpp \
+	valuenode_average.cpp\
+	valuenode_dynamic.cpp \
+	valuenode_derivative.cpp \
+	valuenode_weightedaverage.cpp
 
 VALUEHEADERS = \
 	blinepoint.h \
 	widthpoint.h \
 	dashitem.h \
 	gradient.h \
+	weightedvalue.h \
+	pair.h \
+	type.h \
+	base_types.h \
 	value.h
 
 VALUESOURCES = \
@@ -202,6 +225,8 @@ VALUESOURCES = \
 	widthpoint.cpp \
 	dashitem.cpp \
 	gradient.cpp \
+	type.cpp \
+	base_types.cpp \
 	value.cpp
 
 
@@ -219,9 +244,9 @@ SYNFIGHEADERS = \
 	smartfile.h \
 	string.h \
 	string_decl.h \
-	surfacenew.h \
 	types.h \
 	vector.h \
+	transformation.h \
 	version.h \
 	boneweightpair.h \
 	activepoint.h \
@@ -263,7 +288,21 @@ SYNFIGHEADERS = \
 	uniqueid.h \
 	valuenode.h \
 	waypoint.h \
-	matrix.h
+	matrix.h \
+	filesystem.h \
+	filesystemnative.h \
+	filesystemgroup.h \
+	filecontainer.h \
+	filecontainerzip.h \
+	filecontainertemporary.h \
+	zstreambuf.h \
+	valueoperations.h \
+	valuetransformation.h \
+	mesh.h \
+	renderer.h \
+	renderersoftware.h \
+	soundprocessor.h \
+	polygon.h
 
 SYNFIGSOURCES = \
 	activepoint.cpp \
@@ -304,7 +343,19 @@ SYNFIGSOURCES = \
 	uniqueid.cpp \
 	valuenode.cpp \
 	waypoint.cpp \
-	matrix.cpp
+	matrix.cpp \
+	filesystem.cpp \
+	filesystemnative.cpp \
+	filesystemgroup.cpp \
+	filecontainer.cpp \
+	filecontainerzip.cpp \
+	filecontainertemporary.cpp \
+	zstreambuf.cpp \
+	valueoperations.cpp \
+	mesh.cpp \
+	renderer.cpp \
+	renderersoftware.cpp \
+	soundprocessor.cpp
 
 
 lib_LTLIBRARIES = libsynfig.la
diff --git a/src/synfig/Makefile.in b/src/synfig/Makefile.in
index 9943080..3e4fe9f 100644
--- a/src/synfig/Makefile.in
+++ b/src/synfig/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -87,7 +87,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -137,15 +140,19 @@ libsynfig_la_DEPENDENCIES =
 am__objects_1 =
 am__objects_2 = libsynfig_la-blinepoint.lo libsynfig_la-widthpoint.lo \
 	libsynfig_la-dashitem.lo libsynfig_la-gradient.lo \
+	libsynfig_la-type.lo libsynfig_la-base_types.lo \
 	libsynfig_la-value.lo
 am__objects_3 = libsynfig_la-layer_bitmap.lo \
 	libsynfig_la-layer_composite.lo \
-	libsynfig_la-layer_duplicate.lo libsynfig_la-layer_mime.lo \
+	libsynfig_la-layer_duplicate.lo libsynfig_la-layer_group.lo \
+	libsynfig_la-layer_meshtransform.lo libsynfig_la-layer_mime.lo \
 	libsynfig_la-layer_motionblur.lo \
 	libsynfig_la-layer_pastecanvas.lo \
 	libsynfig_la-layer_polygon.lo libsynfig_la-layer_shape.lo \
-	libsynfig_la-layer_solidcolor.lo \
-	libsynfig_la-layer_skeleton.lo
+	libsynfig_la-layer_solidcolor.lo libsynfig_la-layer_sound.lo \
+	libsynfig_la-layer_skeleton.lo \
+	libsynfig_la-layer_skeletondeformation.lo \
+	libsynfig_la-layer_switch.lo
 am__objects_4 = libsynfig_la-target_multi.lo \
 	libsynfig_la-target_null.lo libsynfig_la-target_null_tile.lo \
 	libsynfig_la-target_scanline.lo libsynfig_la-target_cairo.lo \
@@ -202,7 +209,12 @@ am__objects_5 = libsynfig_la-valuenode_add.lo \
 	libsynfig_la-valuenode_staticlist.lo \
 	libsynfig_la-valuenode_bone.lo \
 	libsynfig_la-valuenode_boneweightpair.lo \
-	libsynfig_la-valuenode_wplist.lo
+	libsynfig_la-valuenode_wplist.lo \
+	libsynfig_la-valuenode_bonelink.lo \
+	libsynfig_la-valuenode_average.lo \
+	libsynfig_la-valuenode_dynamic.lo \
+	libsynfig_la-valuenode_derivative.lo \
+	libsynfig_la-valuenode_weightedaverage.lo
 am__objects_6 = libsynfig_la-activepoint.lo libsynfig_la-bone.lo \
 	libsynfig_la-blur.lo libsynfig_la-cairo_operators.lo \
 	libsynfig_la-cairo_renddesc.lo libsynfig_la-canvas.lo \
@@ -222,7 +234,15 @@ am__objects_6 = libsynfig_la-activepoint.lo libsynfig_la-bone.lo \
 	libsynfig_la-time.lo libsynfig_la-timepointcollect.lo \
 	libsynfig_la-transform.lo libsynfig_la-uniqueid.lo \
 	libsynfig_la-valuenode.lo libsynfig_la-waypoint.lo \
-	libsynfig_la-matrix.lo
+	libsynfig_la-matrix.lo libsynfig_la-filesystem.lo \
+	libsynfig_la-filesystemnative.lo \
+	libsynfig_la-filesystemgroup.lo libsynfig_la-filecontainer.lo \
+	libsynfig_la-filecontainerzip.lo \
+	libsynfig_la-filecontainertemporary.lo \
+	libsynfig_la-zstreambuf.lo libsynfig_la-valueoperations.lo \
+	libsynfig_la-mesh.lo libsynfig_la-renderer.lo \
+	libsynfig_la-renderersoftware.lo \
+	libsynfig_la-soundprocessor.lo
 am__objects_7 = libsynfig_la-listimporter.lo \
 	libsynfig_la-cairolistimporter.lo
 am_libsynfig_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
@@ -329,9 +349,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -363,6 +386,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -400,6 +427,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -417,6 +445,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
@@ -523,7 +553,6 @@ AM_CPPFLAGS = \
 	@INCLTDL@
 
 EXTRA_DIST = \
-	surfacenew.cpp \
 	pch.h \
 	synfig.nsh \
 	synfig.h \
@@ -533,25 +562,35 @@ LAYERHEADERS = \
 	layer_bitmap.h \
 	layer_composite.h \
 	layer_duplicate.h \
+	layer_group.h \
+	layer_meshtransform.h \
 	layer_mime.h \
 	layer_motionblur.h \
 	layer_pastecanvas.h \
 	layer_polygon.h \
 	layer_shape.h \
 	layer_solidcolor.h \
-	layer_skeleton.h
+	layer_sound.h \
+	layer_skeleton.h \
+	layer_skeletondeformation.h \
+	layer_switch.h
 
 LAYERSOURCES = \
 	layer_bitmap.cpp \
 	layer_composite.cpp \
 	layer_duplicate.cpp \
+	layer_group.cpp \
+	layer_meshtransform.cpp \
 	layer_mime.cpp \
 	layer_motionblur.cpp \
 	layer_pastecanvas.cpp \
 	layer_polygon.cpp \
 	layer_shape.cpp \
 	layer_solidcolor.cpp \
-	layer_skeleton.cpp
+	layer_sound.cpp \
+	layer_skeleton.cpp \
+	layer_skeletondeformation.cpp \
+	layer_switch.cpp
 
 TARGETHEADERS = \
 	target_multi.h \
@@ -638,7 +677,12 @@ VALUENODEHEADERS = \
 	valuenode_staticlist.h \
 	valuenode_bone.h \
 	valuenode_boneweightpair.h\
-	valuenode_wplist.h
+	valuenode_wplist.h \
+	valuenode_bonelink.h \
+	valuenode_average.h \
+	valuenode_dynamic.h \
+	valuenode_derivative.h \
+	valuenode_weightedaverage.h
 
 VALUENODESOURCES = \
 	valuenode_add.cpp \
@@ -698,13 +742,22 @@ VALUENODESOURCES = \
 	valuenode_staticlist.cpp \
 	valuenode_bone.cpp \
 	valuenode_boneweightpair.cpp\
-	valuenode_wplist.cpp
+	valuenode_wplist.cpp \
+	valuenode_bonelink.cpp \
+	valuenode_average.cpp\
+	valuenode_dynamic.cpp \
+	valuenode_derivative.cpp \
+	valuenode_weightedaverage.cpp
 
 VALUEHEADERS = \
 	blinepoint.h \
 	widthpoint.h \
 	dashitem.h \
 	gradient.h \
+	weightedvalue.h \
+	pair.h \
+	type.h \
+	base_types.h \
 	value.h
 
 VALUESOURCES = \
@@ -712,6 +765,8 @@ VALUESOURCES = \
 	widthpoint.cpp \
 	dashitem.cpp \
 	gradient.cpp \
+	type.cpp \
+	base_types.cpp \
 	value.cpp
 
 SYNFIGHEADERS = \
@@ -728,9 +783,9 @@ SYNFIGHEADERS = \
 	smartfile.h \
 	string.h \
 	string_decl.h \
-	surfacenew.h \
 	types.h \
 	vector.h \
+	transformation.h \
 	version.h \
 	boneweightpair.h \
 	activepoint.h \
@@ -772,7 +827,21 @@ SYNFIGHEADERS = \
 	uniqueid.h \
 	valuenode.h \
 	waypoint.h \
-	matrix.h
+	matrix.h \
+	filesystem.h \
+	filesystemnative.h \
+	filesystemgroup.h \
+	filecontainer.h \
+	filecontainerzip.h \
+	filecontainertemporary.h \
+	zstreambuf.h \
+	valueoperations.h \
+	valuetransformation.h \
+	mesh.h \
+	renderer.h \
+	renderersoftware.h \
+	soundprocessor.h \
+	polygon.h
 
 SYNFIGSOURCES = \
 	activepoint.cpp \
@@ -813,7 +882,19 @@ SYNFIGSOURCES = \
 	uniqueid.cpp \
 	valuenode.cpp \
 	waypoint.cpp \
-	matrix.cpp
+	matrix.cpp \
+	filesystem.cpp \
+	filesystemnative.cpp \
+	filesystemgroup.cpp \
+	filecontainer.cpp \
+	filecontainerzip.cpp \
+	filecontainertemporary.cpp \
+	zstreambuf.cpp \
+	valueoperations.cpp \
+	mesh.cpp \
+	renderer.cpp \
+	renderersoftware.cpp \
+	soundprocessor.cpp
 
 lib_LTLIBRARIES = libsynfig.la
 libsynfig_la_SOURCES = \
@@ -934,6 +1015,7 @@ distclean-compile:
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-activepoint.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-base_types.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-blinepoint.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-blur.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-bone.Plo at am__quote@
@@ -949,6 +1031,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-dashitem.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-distance.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-exception.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filecontainer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filecontainertemporary.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filecontainerzip.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filesystem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filesystemgroup.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-filesystemnative.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-gamma.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-gradient.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-guid.Plo at am__quote@
@@ -958,17 +1046,23 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_bitmap.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_composite.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_duplicate.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_group.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_meshtransform.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_mime.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_motionblur.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_pastecanvas.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_polygon.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_shape.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_skeleton.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_skeletondeformation.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_solidcolor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_sound.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_switch.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-listimporter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-loadcanvas.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-matrix.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-mesh.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-module.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-mutex.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-node.Plo at am__quote@
@@ -978,7 +1072,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-rect.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-renddesc.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-render.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-renderer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-renderersoftware.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-savecanvas.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-soundprocessor.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-surface.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-target.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-target_cairo.Plo at am__quote@
@@ -991,6 +1088,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-time.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-timepointcollect.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-transform.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-type.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-uniqueid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-value.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode.Plo at am__quote@
@@ -999,6 +1097,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_anglestring.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_animated.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_atan2.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_average.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_bline.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinecalctangent.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinecalcvertex.Plo at am__quote@
@@ -1006,14 +1105,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinereversetangent.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_bone.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_boneinfluence.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_bonelink.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_boneweightpair.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_compare.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_composite.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_const.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_cos.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_derivative.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_dilist.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_dotproduct.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_duplicate.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_dynamic.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_dynamiclist.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_exp.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_gradientcolor.Plo at am__quote@
@@ -1051,9 +1153,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_vectorlength.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_vectorx.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_vectory.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_weightedaverage.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_wplist.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valueoperations.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-waypoint.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-widthpoint.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-zstreambuf.Plo at am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1104,6 +1209,20 @@ libsynfig_la-gradient.lo: gradient.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-gradient.lo `test -f 'gradient.cpp' || echo '$(srcdir)/'`gradient.cpp
 
+libsynfig_la-type.lo: type.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-type.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-type.Tpo -c -o libsynfig_la-type.lo `test -f 'type.cpp' || echo '$(srcdir)/'`type.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-type.Tpo $(DEPDIR)/libsynfig_la-type.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='type.cpp' object='libsynfig_la-type.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-type.lo `test -f 'type.cpp' || echo '$(srcdir)/'`type.cpp
+
+libsynfig_la-base_types.lo: base_types.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-base_types.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-base_types.Tpo -c -o libsynfig_la-base_types.lo `test -f 'base_types.cpp' || echo '$(srcdir)/'`base_types.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-base_types.Tpo $(DEPDIR)/libsynfig_la-base_types.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='base_types.cpp' object='libsynfig_la-base_types.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-base_types.lo `test -f 'base_types.cpp' || echo '$(srcdir)/'`base_types.cpp
+
 libsynfig_la-value.lo: value.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-value.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-value.Tpo -c -o libsynfig_la-value.lo `test -f 'value.cpp' || echo '$(srcdir)/'`value.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-value.Tpo $(DEPDIR)/libsynfig_la-value.Plo
@@ -1132,6 +1251,20 @@ libsynfig_la-layer_duplicate.lo: layer_duplicate.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_duplicate.lo `test -f 'layer_duplicate.cpp' || echo '$(srcdir)/'`layer_duplicate.cpp
 
+libsynfig_la-layer_group.lo: layer_group.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_group.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_group.Tpo -c -o libsynfig_la-layer_group.lo `test -f 'layer_group.cpp' || echo '$(srcdir)/'`layer_group.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_group.Tpo $(DEPDIR)/libsynfig_la-layer_group.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='layer_group.cpp' object='libsynfig_la-layer_group.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_group.lo `test -f 'layer_group.cpp' || echo '$(srcdir)/'`layer_group.cpp
+
+libsynfig_la-layer_meshtransform.lo: layer_meshtransform.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_meshtransform.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_meshtransform.Tpo -c -o libsynfig_la-layer_meshtransform.lo `test -f 'layer_meshtransform.cpp' || echo '$(srcdir)/'`layer_meshtransform.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_meshtransform.Tpo $(DEPDIR)/libsynfig_la-layer_meshtransform.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='layer_meshtransform.cpp' object='libsynfig_la-layer_meshtransform.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_meshtransform.lo `test -f 'layer_meshtransform.cpp' || echo '$(srcdir)/'`layer_meshtransform.cpp
+
 libsynfig_la-layer_mime.lo: layer_mime.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_mime.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_mime.Tpo -c -o libsynfig_la-layer_mime.lo `test -f 'layer_mime.cpp' || echo '$(srcdir)/'`layer_mime.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_mime.Tpo $(DEPDIR)/libsynfig_la-layer_mime.Plo
@@ -1174,6 +1307,13 @@ libsynfig_la-layer_solidcolor.lo: layer_solidcolor.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_solidcolor.lo `test -f 'layer_solidcolor.cpp' || echo '$(srcdir)/'`layer_solidcolor.cpp
 
+libsynfig_la-layer_sound.lo: layer_sound.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_sound.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_sound.Tpo -c -o libsynfig_la-layer_sound.lo `test -f 'layer_sound.cpp' || echo '$(srcdir)/'`layer_sound.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_sound.Tpo $(DEPDIR)/libsynfig_la-layer_sound.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='layer_sound.cpp' object='libsynfig_la-layer_sound.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_sound.lo `test -f 'layer_sound.cpp' || echo '$(srcdir)/'`layer_sound.cpp
+
 libsynfig_la-layer_skeleton.lo: layer_skeleton.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_skeleton.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_skeleton.Tpo -c -o libsynfig_la-layer_skeleton.lo `test -f 'layer_skeleton.cpp' || echo '$(srcdir)/'`layer_skeleton.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_skeleton.Tpo $(DEPDIR)/libsynfig_la-layer_skeleton.Plo
@@ -1181,6 +1321,20 @@ libsynfig_la-layer_skeleton.lo: layer_skeleton.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_skeleton.lo `test -f 'layer_skeleton.cpp' || echo '$(srcdir)/'`layer_skeleton.cpp
 
+libsynfig_la-layer_skeletondeformation.lo: layer_skeletondeformation.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_skeletondeformation.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_skeletondeformation.Tpo -c -o libsynfig_la-layer_skeletondeformation.lo `test -f 'layer_skeletondeformation.cpp' || echo '$(srcdir)/'`layer_skeletondeformation.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_skeletondeformation.Tpo $(DEPDIR)/libsynfig_la-layer_skeletondeformation.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='layer_skeletondeformation.cpp' object='libsynfig_la-layer_skeletondeformation.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_skeletondeformation.lo `test -f 'layer_skeletondeformation.cpp' || echo '$(srcdir)/'`layer_skeletondeformation.cpp
+
+libsynfig_la-layer_switch.lo: layer_switch.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_switch.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_switch.Tpo -c -o libsynfig_la-layer_switch.lo `test -f 'layer_switch.cpp' || echo '$(srcdir)/'`layer_switch.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-layer_switch.Tpo $(DEPDIR)/libsynfig_la-layer_switch.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='layer_switch.cpp' object='libsynfig_la-layer_switch.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_switch.lo `test -f 'layer_switch.cpp' || echo '$(srcdir)/'`layer_switch.cpp
+
 libsynfig_la-target_multi.lo: target_multi.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-target_multi.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-target_multi.Tpo -c -o libsynfig_la-target_multi.lo `test -f 'target_multi.cpp' || echo '$(srcdir)/'`target_multi.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-target_multi.Tpo $(DEPDIR)/libsynfig_la-target_multi.Plo
@@ -1636,6 +1790,41 @@ libsynfig_la-valuenode_wplist.lo: valuenode_wplist.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_wplist.lo `test -f 'valuenode_wplist.cpp' || echo '$(srcdir)/'`valuenode_wplist.cpp
 
+libsynfig_la-valuenode_bonelink.lo: valuenode_bonelink.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_bonelink.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_bonelink.Tpo -c -o libsynfig_la-valuenode_bonelink.lo `test -f 'valuenode_bonelink.cpp' || echo '$(srcdir)/'`valuenode_bonelink.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_bonelink.Tpo $(DEPDIR)/libsynfig_la-valuenode_bonelink.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valuenode_bonelink.cpp' object='libsynfig_la-valuenode_bonelink.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_bonelink.lo `test -f 'valuenode_bonelink.cpp' || echo '$(srcdir)/'`valuenode_bonelink.cpp
+
+libsynfig_la-valuenode_average.lo: valuenode_average.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_average.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_average.Tpo -c -o libsynfig_la-valuenode_average.lo `test -f 'valuenode_average.cpp' || echo '$(srcdir)/'`valuenode_average.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_average.Tpo $(DEPDIR)/libsynfig_la-valuenode_average.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valuenode_average.cpp' object='libsynfig_la-valuenode_average.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_average.lo `test -f 'valuenode_average.cpp' || echo '$(srcdir)/'`valuenode_average.cpp
+
+libsynfig_la-valuenode_dynamic.lo: valuenode_dynamic.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_dynamic.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_dynamic.Tpo -c -o libsynfig_la-valuenode_dynamic.lo `test -f 'valuenode_dynamic.cpp' || echo '$(srcdir)/'`valuenode_dynamic.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_dynamic.Tpo $(DEPDIR)/libsynfig_la-valuenode_dynamic.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valuenode_dynamic.cpp' object='libsynfig_la-valuenode_dynamic.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_dynamic.lo `test -f 'valuenode_dynamic.cpp' || echo '$(srcdir)/'`valuenode_dynamic.cpp
+
+libsynfig_la-valuenode_derivative.lo: valuenode_derivative.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_derivative.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_derivative.Tpo -c -o libsynfig_la-valuenode_derivative.lo `test -f 'valuenode_derivative.cpp' || echo '$(srcdir)/'`valuenode_derivative.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_derivative.Tpo $(DEPDIR)/libsynfig_la-valuenode_derivative.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valuenode_derivative.cpp' object='libsynfig_la-valuenode_derivative.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_derivative.lo `test -f 'valuenode_derivative.cpp' || echo '$(srcdir)/'`valuenode_derivative.cpp
+
+libsynfig_la-valuenode_weightedaverage.lo: valuenode_weightedaverage.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_weightedaverage.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_weightedaverage.Tpo -c -o libsynfig_la-valuenode_weightedaverage.lo `test -f 'valuenode_weightedaverage.cpp' || echo '$(srcdir)/'`valuenode_weightedaverage.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_weightedaverage.Tpo $(DEPDIR)/libsynfig_la-valuenode_weightedaverage.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valuenode_weightedaverage.cpp' object='libsynfig_la-valuenode_weightedaverage.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_weightedaverage.lo `test -f 'valuenode_weightedaverage.cpp' || echo '$(srcdir)/'`valuenode_weightedaverage.cpp
+
 libsynfig_la-activepoint.lo: activepoint.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-activepoint.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-activepoint.Tpo -c -o libsynfig_la-activepoint.lo `test -f 'activepoint.cpp' || echo '$(srcdir)/'`activepoint.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-activepoint.Tpo $(DEPDIR)/libsynfig_la-activepoint.Plo
@@ -1909,6 +2098,90 @@ libsynfig_la-matrix.lo: matrix.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-matrix.lo `test -f 'matrix.cpp' || echo '$(srcdir)/'`matrix.cpp
 
+libsynfig_la-filesystem.lo: filesystem.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filesystem.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filesystem.Tpo -c -o libsynfig_la-filesystem.lo `test -f 'filesystem.cpp' || echo '$(srcdir)/'`filesystem.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filesystem.Tpo $(DEPDIR)/libsynfig_la-filesystem.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filesystem.cpp' object='libsynfig_la-filesystem.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filesystem.lo `test -f 'filesystem.cpp' || echo '$(srcdir)/'`filesystem.cpp
+
+libsynfig_la-filesystemnative.lo: filesystemnative.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filesystemnative.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filesystemnative.Tpo -c -o libsynfig_la-filesystemnative.lo `test -f 'filesystemnative.cpp' || echo '$(srcdir)/'`filesystemnative.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filesystemnative.Tpo $(DEPDIR)/libsynfig_la-filesystemnative.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filesystemnative.cpp' object='libsynfig_la-filesystemnative.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filesystemnative.lo `test -f 'filesystemnative.cpp' || echo '$(srcdir)/'`filesystemnative.cpp
+
+libsynfig_la-filesystemgroup.lo: filesystemgroup.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filesystemgroup.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filesystemgroup.Tpo -c -o libsynfig_la-filesystemgroup.lo `test -f 'filesystemgroup.cpp' || echo '$(srcdir)/'`filesystemgroup.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filesystemgroup.Tpo $(DEPDIR)/libsynfig_la-filesystemgroup.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filesystemgroup.cpp' object='libsynfig_la-filesystemgroup.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filesystemgroup.lo `test -f 'filesystemgroup.cpp' || echo '$(srcdir)/'`filesystemgroup.cpp
+
+libsynfig_la-filecontainer.lo: filecontainer.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filecontainer.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filecontainer.Tpo -c -o libsynfig_la-filecontainer.lo `test -f 'filecontainer.cpp' || echo '$(srcdir)/'`filecontainer.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filecontainer.Tpo $(DEPDIR)/libsynfig_la-filecontainer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filecontainer.cpp' object='libsynfig_la-filecontainer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filecontainer.lo `test -f 'filecontainer.cpp' || echo '$(srcdir)/'`filecontainer.cpp
+
+libsynfig_la-filecontainerzip.lo: filecontainerzip.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filecontainerzip.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filecontainerzip.Tpo -c -o libsynfig_la-filecontainerzip.lo `test -f 'filecontainerzip.cpp' || echo '$(srcdir)/'`filecontainerzip.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filecontainerzip.Tpo $(DEPDIR)/libsynfig_la-filecontainerzip.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filecontainerzip.cpp' object='libsynfig_la-filecontainerzip.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filecontainerzip.lo `test -f 'filecontainerzip.cpp' || echo '$(srcdir)/'`filecontainerzip.cpp
+
+libsynfig_la-filecontainertemporary.lo: filecontainertemporary.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-filecontainertemporary.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-filecontainertemporary.Tpo -c -o libsynfig_la-filecontainertemporary.lo `test -f 'filecontainertemporary.cpp' || echo '$(srcdir)/'`filecontainertemporary.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-filecontainertemporary.Tpo $(DEPDIR)/libsynfig_la-filecontainertemporary.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='filecontainertemporary.cpp' object='libsynfig_la-filecontainertemporary.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-filecontainertemporary.lo `test -f 'filecontainertemporary.cpp' || echo '$(srcdir)/'`filecontainertemporary.cpp
+
+libsynfig_la-zstreambuf.lo: zstreambuf.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-zstreambuf.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-zstreambuf.Tpo -c -o libsynfig_la-zstreambuf.lo `test -f 'zstreambuf.cpp' || echo '$(srcdir)/'`zstreambuf.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-zstreambuf.Tpo $(DEPDIR)/libsynfig_la-zstreambuf.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='zstreambuf.cpp' object='libsynfig_la-zstreambuf.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-zstreambuf.lo `test -f 'zstreambuf.cpp' || echo '$(srcdir)/'`zstreambuf.cpp
+
+libsynfig_la-valueoperations.lo: valueoperations.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valueoperations.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valueoperations.Tpo -c -o libsynfig_la-valueoperations.lo `test -f 'valueoperations.cpp' || echo '$(srcdir)/'`valueoperations.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-valueoperations.Tpo $(DEPDIR)/libsynfig_la-valueoperations.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='valueoperations.cpp' object='libsynfig_la-valueoperations.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valueoperations.lo `test -f 'valueoperations.cpp' || echo '$(srcdir)/'`valueoperations.cpp
+
+libsynfig_la-mesh.lo: mesh.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-mesh.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-mesh.Tpo -c -o libsynfig_la-mesh.lo `test -f 'mesh.cpp' || echo '$(srcdir)/'`mesh.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-mesh.Tpo $(DEPDIR)/libsynfig_la-mesh.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mesh.cpp' object='libsynfig_la-mesh.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-mesh.lo `test -f 'mesh.cpp' || echo '$(srcdir)/'`mesh.cpp
+
+libsynfig_la-renderer.lo: renderer.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-renderer.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-renderer.Tpo -c -o libsynfig_la-renderer.lo `test -f 'renderer.cpp' || echo '$(srcdir)/'`renderer.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-renderer.Tpo $(DEPDIR)/libsynfig_la-renderer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='renderer.cpp' object='libsynfig_la-renderer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-renderer.lo `test -f 'renderer.cpp' || echo '$(srcdir)/'`renderer.cpp
+
+libsynfig_la-renderersoftware.lo: renderersoftware.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-renderersoftware.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-renderersoftware.Tpo -c -o libsynfig_la-renderersoftware.lo `test -f 'renderersoftware.cpp' || echo '$(srcdir)/'`renderersoftware.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-renderersoftware.Tpo $(DEPDIR)/libsynfig_la-renderersoftware.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='renderersoftware.cpp' object='libsynfig_la-renderersoftware.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-renderersoftware.lo `test -f 'renderersoftware.cpp' || echo '$(srcdir)/'`renderersoftware.cpp
+
+libsynfig_la-soundprocessor.lo: soundprocessor.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-soundprocessor.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-soundprocessor.Tpo -c -o libsynfig_la-soundprocessor.lo `test -f 'soundprocessor.cpp' || echo '$(srcdir)/'`soundprocessor.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-soundprocessor.Tpo $(DEPDIR)/libsynfig_la-soundprocessor.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='soundprocessor.cpp' object='libsynfig_la-soundprocessor.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-soundprocessor.lo `test -f 'soundprocessor.cpp' || echo '$(srcdir)/'`soundprocessor.cpp
+
 libsynfig_la-listimporter.lo: listimporter.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-listimporter.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-listimporter.Tpo -c -o libsynfig_la-listimporter.lo `test -f 'listimporter.cpp' || echo '$(srcdir)/'`listimporter.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsynfig_la-listimporter.Tpo $(DEPDIR)/libsynfig_la-listimporter.Plo
diff --git a/src/synfig/activepoint.h b/src/synfig/activepoint.h
index 4479095..cbc34c2 100644
--- a/src/synfig/activepoint.h
+++ b/src/synfig/activepoint.h
@@ -62,9 +62,10 @@ public:
 	bool operator<(const Activepoint& rhs) { return time<rhs.time; }
 	bool operator<(const Time& rhs) { return time<rhs; }
 
-	Activepoint(const Time &time, const bool &state, int p=0): time(time), priority(p),state(state) { }
+	Activepoint(const Time &time, const bool &state, int p=0):
+		index(), time(time), priority(p),state(state) { }
 	//! \todo Should priority be initialized here, or elsewhere?  This avoids a valgrind warning for now.
-	Activepoint(): priority(0) { }
+	Activepoint(): index(), time(0), priority(0), state() { }
 
 	const Time& get_time()const { return time; }
 	void set_time(const Time& x) { time=x; }
diff --git a/src/synfig/base_types.cpp b/src/synfig/base_types.cpp
new file mode 100644
index 0000000..ea1f789
--- /dev/null
+++ b/src/synfig/base_types.cpp
@@ -0,0 +1,595 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file base_types.cpp
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include <cstdlib>
+#include "base_types.h"
+
+#include "value.h"
+#include "general.h"
+#include "canvas.h"
+#include "valuenode_bone.h"
+#include "gradient.h"
+#include "bone.h"
+#include "matrix.h"
+#include "boneweightpair.h"
+#include "transformation.h"
+#include "vector.h"
+#include "time.h"
+#include "segment.h"
+#include "color.h"
+
+#endif
+
+using namespace synfig;
+using namespace types_namespace;
+using namespace etl;
+
+/* === M A C R O S ========================================================= */
+
+#define TRY_FIX_FOR_BUG_27
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+namespace synfig {
+namespace types_namespace {
+
+
+// Bool
+
+class TypeBool: public synfig::Type
+{
+	static String to_string(const bool &x) { return etl::strprintf("Bool (%s)", x ? "true" : "false"); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "bool";
+		description.aliases.push_back(_("bool"));
+		description.local_name = N_("bool");
+		register_all<bool, to_string>();
+	}
+public:
+	static TypeBool instance;
+};
+TypeBool TypeBool::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(bool, TypeBool)
+
+
+// Integer
+
+class TypeInteger: public Type
+{
+	static String to_string(const int &x) { return etl::strprintf("Integer (%d)", x); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "integer";
+		description.aliases.push_back("int");
+		description.aliases.push_back(_("integer"));
+		description.local_name = N_("integer");
+		register_all<int, to_string>();
+	}
+public:
+	static TypeInteger instance;
+};
+TypeInteger TypeInteger::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(int, TypeInteger)
+
+
+// Angle
+
+class TypeAngle: public Type
+{
+	static String to_string(const Angle &x) { return etl::strprintf("Angle (%.2f)", Angle::deg(x).get()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "angle";
+		description.aliases.push_back("degrees");
+		description.aliases.push_back("radians");
+		description.aliases.push_back("rotations");
+		description.local_name = N_("angle");
+		register_all<Angle, to_string>();
+	}
+public:
+	static TypeAngle instance;
+};
+TypeAngle TypeAngle::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Angle, TypeAngle)
+
+
+// Real
+
+class TypeReal: public Type
+{
+public:
+	class Inner
+	{
+	public:
+		mutable float f;
+		mutable Time t;
+		Real r;
+		Inner(): f(0.f), t(0.0), r(0.0) { }
+
+		bool operator== (const Inner &other) const { return r == other.r; }
+		Inner& operator= (const Inner &other) { return *this = other.r; }
+
+		Inner& operator= (const Real &other) { r = other; return *this; }
+		operator const Real&() const { return r; }
+
+		Inner& operator= (const float &other) { r = other; return *this; }
+		operator const float&() const { return f = r; }
+
+		Inner& operator= (const Time &other) { r = other; return *this; }
+		operator const Time&() const { return t = r; }
+	};
+private:
+	static bool compare(const InternalPointer a, const InternalPointer b)
+		{ return abs((*(Inner*)a).r - (*(Inner*)b).r) <= 0.00000000000001; }
+	static String to_string(const Inner &x) { return etl::strprintf("Real (%f)", (Real)x); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "real";
+		description.aliases.push_back("float");
+		description.aliases.push_back(_("real"));
+		description.local_name = N_("real");
+		register_all_but_compare<Inner, Real, to_string>();
+		register_alias<Inner, float>();
+		register_alias<Inner, Time>();
+		register_compare(compare);
+	}
+public:
+	static TypeReal instance;
+};
+TypeReal TypeReal::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Real, TypeReal)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(float, TypeReal)
+
+
+// Time
+
+class TypeTime: public Type
+{
+	typedef TypeReal::Inner Inner;
+	static String to_string(const Inner &x) { return etl::strprintf("Time (%s)", ((const Time&)x).get_string().c_str()); }
+	static bool compare(const InternalPointer a, const InternalPointer b)
+		{ return (const Time&)*(Inner*)a == (const Time&)*(Inner*)b; }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		TypeReal::instance.initialize();
+		description.name = "time";
+		description.aliases.push_back(_("time"));
+		description.local_name = N_("time");
+		register_all_but_compare<Inner, Time, to_string>();
+		register_alias<Inner, Real>();
+		register_alias<Inner, Time>();
+		register_compare(compare);
+		register_copy(identifier, TypeReal::instance.identifier, Operation::DefaultFuncs::copy<Inner>);
+		register_copy(TypeReal::instance.identifier, identifier, Operation::DefaultFuncs::copy<Inner>);
+	}
+public:
+	static TypeTime instance;
+};
+TypeTime TypeTime::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Time, TypeTime)
+
+
+// Vector
+
+class TypeVector: public Type
+{
+	static String to_string(const Vector &x) { return etl::strprintf("Vector (%f, %f)", x[0], x[1]); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "vector";
+		description.aliases.push_back("point");
+		description.local_name = N_("vector");
+		register_all<Vector, to_string>();
+	}
+public:
+	static TypeVector instance;
+};
+TypeVector TypeVector::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Vector, TypeVector)
+
+
+// Color
+
+class TypeColor: public Type
+{
+	static String to_string(const Color &x) { return etl::strprintf("Color (%s)", x.get_string().c_str()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "color";
+		description.local_name = N_("color");
+		register_all<Color, to_string>();
+	}
+public:
+	static TypeColor instance;
+};
+TypeColor TypeColor::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Color, TypeColor)
+
+
+// Segment
+
+class TypeSegment: public Type
+{
+	static String to_string(const Segment &x) { return etl::strprintf("Segment ((%f, %f) to (%f, %f))", x.p1[0], x.p1[1], x.p2[0], x.p2[1]); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "segment";
+		description.local_name = N_("segment");
+		register_all_but_compare<Segment, to_string>();
+	}
+public:
+	static TypeSegment instance;
+};
+TypeSegment TypeSegment::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Segment, TypeSegment)
+
+
+// BLinePoint
+
+class TypeBLinePoint: public Type
+{
+	static String to_string(const BLinePoint &x) { return etl::strprintf("BLinePoint (%f, %f)", x.get_vertex()[0], x.get_vertex()[1]); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "bline_point";
+		description.aliases.push_back("blinepoint");
+		description.local_name = N_("spline_point");
+		register_all_but_compare<BLinePoint, to_string>();
+	}
+public:
+	static TypeBLinePoint instance;
+};
+TypeBLinePoint TypeBLinePoint::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(BLinePoint, TypeBLinePoint)
+
+
+// Matrix
+
+class TypeMatrix: public Type
+{
+	static String to_string(const Matrix &x) { return etl::strprintf("Matrix (%s)", x.get_string().c_str()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "matrix";
+		description.local_name = N_("matrix");
+		register_all_but_compare<Matrix, to_string>();
+	}
+public:
+	static TypeMatrix instance;
+};
+TypeMatrix TypeMatrix::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Matrix, TypeMatrix)
+
+
+// BoneWeightPair
+
+class TypeBoneWeightPair: public Type
+{
+	static String to_string(const BoneWeightPair &x) { return etl::strprintf("Bone Weight Pair (%s)", x.get_string().c_str()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "bone_weight_pair";
+		description.local_name = N_("bone_weight_pair");
+		register_all_but_compare<BoneWeightPair, to_string>();
+	}
+public:
+	static TypeBoneWeightPair instance;
+};
+TypeBoneWeightPair TypeBoneWeightPair::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(BoneWeightPair, TypeBoneWeightPair)
+
+
+// WidthPoint
+
+class TypeWidthPoint: public Type
+{
+	static String to_string(const WidthPoint &x) { return etl::strprintf("WidthPoint (%f, %f)", x.get_position(), x.get_width()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "width_point";
+		description.aliases.push_back("widthpoint");
+		description.local_name = N_("width_point");
+		register_all_but_compare<WidthPoint, to_string>();
+	}
+public:
+	static TypeWidthPoint instance;
+};
+TypeWidthPoint TypeWidthPoint::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(WidthPoint, TypeWidthPoint)
+
+
+// DashItem
+
+class TypeDashItem: public Type
+{
+	static String to_string(const DashItem &x) { return etl::strprintf("DashItem (%f, %f)", x.get_offset(), x.get_length()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "dash_item";
+		description.aliases.push_back("dashitem");
+		description.local_name = N_("dash_item");
+		register_all<DashItem, to_string>();
+	}
+public:
+	static TypeDashItem instance;
+};
+TypeDashItem TypeDashItem::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(DashItem, TypeDashItem)
+
+
+// List
+
+class TypeList: public Type
+{
+	static String to_string(const ValueBase::List &x) { return etl::strprintf("List (%d elements)", x.size()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "list";
+		description.local_name = N_("list");
+		register_all<ValueBase::List, to_string>();
+	}
+public:
+	static TypeList instance;
+};
+TypeList TypeList::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(ValueBase::List, TypeList)
+
+
+// Canvas
+
+class TypeCanvas: public Type
+{
+	class Inner
+	{
+	public:
+#ifdef TRY_FIX_FOR_BUG_27
+		bool fake_handle;
+#endif
+		etl::loose_handle<Canvas> lh;
+		etl::handle<Canvas> h;
+		mutable Canvas* p;
+#ifdef TRY_FIX_FOR_BUG_27
+		Inner(): fake_handle(false), p(NULL) { }
+		~Inner() { if (fake_handle) h->ref(); }
+#else
+		Inner(): p(NULL) { }
+#endif
+		Inner& operator= (const etl::loose_handle<Canvas> &other)
+		{
+#ifdef TRY_FIX_FOR_BUG_27
+			if (fake_handle) h->ref();
+#endif
+			lh = other;
+			h = other;
+#ifdef TRY_FIX_FOR_BUG_27
+			fake_handle = h && !h->is_inline();
+			if (fake_handle) h->unref_inactive();
+#endif
+			return *this;
+		}
+		Inner& operator= (const etl::handle<Canvas> &other)
+			{ return *this = etl::loose_handle<Canvas>(other); }
+		Inner& operator= (Canvas* const &other)
+			{ return *this = etl::loose_handle<Canvas>(other); }
+		Inner& operator= (const Inner &other)
+			{ return *this = other.lh; }
+		bool operator== (const Inner &other) const
+			{ return lh == other.lh; }
+		operator const etl::loose_handle<Canvas>&() const { return lh; }
+		operator const etl::handle<Canvas>&() const { return h; }
+		operator Canvas* const&() const { return p = &*lh; }
+	};
+	static String to_string(const Inner &x) { return etl::strprintf("Canvas (%s)", x.lh ? x.lh->get_id().c_str() : "NULL"); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "canvas";
+		description.local_name = N_("canvas");
+		register_all<Inner, etl::loose_handle<Canvas>, to_string>();
+		register_alias< Inner, etl::handle<Canvas> >();
+		register_alias<Inner, Canvas*>();
+	}
+public:
+	static TypeCanvas instance;
+};
+TypeCanvas TypeCanvas::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(etl::loose_handle<Canvas>, TypeCanvas)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(etl::handle<Canvas>, TypeCanvas)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Canvas*, TypeCanvas)
+
+
+// String
+
+class TypeString: public Type
+{
+	class Inner: public String
+	{
+		mutable const char *c;
+	public:
+		operator const char * const &() const { return c = c_str(); }
+		String& operator=(const String &x) { std::string::operator=(x); return *this; }
+		String& operator=(const char * const &x) { std::string::operator=(x); return *this; }
+	};
+	static String to_string(const Inner &x) { return etl::strprintf("String (%s)", x.c_str()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "string";
+		description.local_name = N_("string");
+		register_all<Inner, String, to_string>();
+		register_alias<Inner, const char*>();
+	}
+public:
+	static TypeString instance;
+};
+TypeString TypeString::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(String, TypeString)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(const char*, TypeString)
+
+
+// Gradient
+
+class TypeGradient: public Type
+{
+	static String to_string(const Gradient &x) { return etl::strprintf("Gradient (%d cpoints)", x.size()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "gradient";
+		description.local_name = N_("gradient");
+		register_all_but_compare<Gradient, to_string>();
+	}
+public:
+	static TypeGradient instance;
+};
+TypeGradient TypeGradient::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Gradient, TypeGradient)
+
+
+// Bone
+
+class TypeBoneObject: public Type
+{
+	static String to_string(const Bone &x) { return etl::strprintf("Bone (%s)", x.get_string().c_str()); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "bone_object";
+		description.local_name = N_("bone_object");
+		register_all_but_compare<Bone, to_string>();
+	}
+public:
+	static TypeBoneObject instance;
+};
+TypeBoneObject TypeBoneObject::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Bone, TypeBoneObject)
+
+
+// BoneValueNode
+
+class TypeBoneValueNode: public Type
+{
+	class Inner
+	{
+	public:
+		ValueNode_Bone::Handle h;
+		mutable ValueNode_Bone::LooseHandle lh;
+		mutable ValueNode_Bone* p;
+		Inner(): p(NULL) { }
+		Inner& operator= (const ValueNode_Bone::LooseHandle &other) { h = other; return *this; }
+		Inner& operator= (const ValueNode_Bone::Handle &other) { h = other; return *this; }
+		Inner& operator= (ValueNode_Bone* const &other) { h = other; return *this; }
+		Inner& operator= (const Inner &other) { return *this = other.h; }
+		bool operator== (const Inner &other) const { return h == other.h; }
+		operator const ValueNode_Bone::LooseHandle&() const { return lh = h; }
+		operator ValueNode_Bone* const&() const { return p = &*h; }
+		operator const ValueNode_Bone::Handle&() const { return h; }
+	};
+	static String to_string(const Inner &x) { return etl::strprintf("ValueNodeBone (%s)", x.lh ? x.lh->get_string().c_str() : "NULL"); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "bone_valuenode";
+		description.local_name = N_("bone_valuenode");
+		register_all<Inner, ValueNode_Bone::LooseHandle, to_string>();
+		register_alias<Inner, ValueNode_Bone::Handle>();
+		register_alias<Inner, ValueNode_Bone*>();
+	}
+public:
+	static TypeBoneValueNode instance;
+};
+TypeBoneValueNode TypeBoneValueNode::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(ValueNode_Bone::Handle, TypeBoneValueNode)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(ValueNode_Bone::LooseHandle, TypeBoneValueNode)
+SYNFIG_IMPLEMENT_TYPE_ALIAS(ValueNode_Bone*, TypeBoneValueNode)
+
+
+// Transformation
+
+class TypeTransformation: public Type
+{
+	static String to_string(const Transformation &x) { return etl::strprintf("Transformation (%f, %f) (%f) (%f, %f)", x.offset[0], x.offset[1], Angle::deg(x.angle).get(), x.scale[0], x.scale[1]); }
+	void initialize_vfunc(Description &description)
+	{
+		Type::initialize_vfunc(description);
+		description.name = "transformation";
+		description.local_name = N_("transformation");
+		register_all<Transformation, to_string>();
+	}
+public:
+	static TypeTransformation instance;
+};
+TypeTransformation TypeTransformation::instance;
+SYNFIG_IMPLEMENT_TYPE_ALIAS(Transformation, TypeTransformation)
+
+}} // END of namespaces types_namespace and synfig
+
+namespace synfig {
+	Type &type_bool				= TypeBool::instance;
+	Type &type_integer			= TypeInteger::instance;
+	Type &type_angle			= TypeAngle::instance;
+	Type &type_time				= TypeTime::instance;
+	Type &type_real				= TypeReal::instance;
+	Type &type_vector			= TypeVector::instance;
+	Type &type_color			= TypeColor::instance;
+	Type &type_segment			= TypeSegment::instance;
+	Type &type_bline_point		= TypeBLinePoint::instance;
+	Type &type_matrix			= TypeMatrix::instance;
+	Type &type_bone_weight_pair	= TypeBoneWeightPair::instance;
+	Type &type_width_point		= TypeWidthPoint::instance;
+	Type &type_dash_item		= TypeDashItem::instance;
+	Type &type_list				= TypeList::instance;
+	Type &type_canvas			= TypeCanvas::instance;
+	Type &type_string			= TypeString::instance;
+	Type &type_gradient			= TypeGradient::instance;
+	Type &type_bone_object		= TypeBoneObject::instance;
+	Type &type_bone_valuenode	= TypeBoneValueNode::instance;
+	Type &type_transformation	= TypeTransformation::instance;
+}; // END of namespace synfig
diff --git a/src/synfig/protocol.h b/src/synfig/base_types.h
similarity index 64%
copy from src/synfig/protocol.h
copy to src/synfig/base_types.h
index 6853066..0b6ddd8 100644
--- a/src/synfig/protocol.h
+++ b/src/synfig/base_types.h
@@ -1,11 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file protocol.h
+/*!	\file base_types.h
 **	\brief Template Header
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -22,12 +22,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_PROTOCOL_H
-#define __SYNFIG_PROTOCOL_H
+#ifndef __SYNFIG_BASE_TYPES_H
+#define __SYNFIG_BASE_TYPES_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <sigc++/signal.h>
+#include "type.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -36,31 +36,26 @@
 /* === C L A S S E S & S T R U C T S ======================================= */
 
 namespace synfig {
-
-/*
- * class Object
-{
-public:
-
-	sigc::signal_
-	bool find_protocol(Protocol& proto)
-	{
-
-	}
-};
-*/
-
-class Protocol
-{
-public:
-	class Type;
-
-}; // END of class Protocol
-
-class Protocol::Type
-{
-}; // END of class Protocol::Type
-
+	extern Type &type_bool;
+	extern Type &type_integer;
+	extern Type &type_angle;
+	extern Type &type_time;
+	extern Type &type_real;
+	extern Type &type_vector;
+	extern Type &type_color;
+	extern Type &type_segment;
+	extern Type &type_bline_point;
+	extern Type &type_matrix;
+	extern Type &type_bone_weight_pair;
+	extern Type &type_width_point;
+	extern Type &type_dash_item;
+	extern Type &type_list;
+	extern Type &type_canvas;
+	extern Type &type_string;
+	extern Type &type_gradient;
+	extern Type &type_bone_object;
+	extern Type &type_bone_valuenode;
+	extern Type &type_transformation;
 }; // END of namespace synfig
 
 /* === E N D =============================================================== */
diff --git a/src/synfig/blinepoint.cpp b/src/synfig/blinepoint.cpp
index 4291bbf..dbae40a 100644
--- a/src/synfig/blinepoint.cpp
+++ b/src/synfig/blinepoint.cpp
@@ -46,10 +46,11 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
+//TODO: write reverse for rest of flags cases.
 void
 synfig::BLinePoint::reverse()
 {
-	if(split_tangent_)
+	if(split_tangent_both_)
 	{
 		std::swap(tangent_[0],tangent_[1]);
 		tangent_[0]=-tangent_[0];
@@ -59,5 +60,24 @@ synfig::BLinePoint::reverse()
 	{
 		tangent_[0]=-tangent_[0];
 		tangent_[1]=-tangent_[1];
+		update_tangent2();
 	}
 }
+
+void
+synfig::BLinePoint::update_tangent2()
+{
+	if(tangent_[0].mag() != 0)
+		tangent2_radius_split_=Vector(tangent_[1].mag(), tangent_[0].angle());
+	else
+		tangent2_radius_split_=tangent_[1];
+	tangent2_angle_split_=Vector(tangent_[0].mag(), tangent_[1].angle());
+	return;
+}
+
+void
+synfig::BLinePoint::update_flags()
+{
+	split_tangent_both_= split_tangent_radius_ && split_tangent_angle_;
+	merge_tangent_both_= !split_tangent_radius_ && !split_tangent_angle_;
+}
diff --git a/src/synfig/blinepoint.h b/src/synfig/blinepoint.h
index 73ccd53..3c34eda 100644
--- a/src/synfig/blinepoint.h
+++ b/src/synfig/blinepoint.h
@@ -46,31 +46,57 @@ private:
 	Vector	tangent_[2];
 	float	width_;
 	float	origin_;
-	bool	split_tangent_;
+	bool	split_tangent_radius_;
+	bool	split_tangent_angle_;
 	bool	boned_vertex_;
 	Point	vertex_setup_;
 
+	// True if split_tangent_radius == split_tangent_angle == true otherwise false
+	bool	split_tangent_both_;
+	// True if split_tangent_radius == split_tangent_angle == false otherwise false
+	bool	merge_tangent_both_;
+
+	// Used to store the tangent2 when split_radius=true && split_angle==false
+	Vector	tangent2_radius_split_;
+	// Used to store the tangent2 when split_radius=false && split_angle==true
+	Vector	tangent2_angle_split_;
+
+	void	update_flags();
+	void	update_tangent2();
+
 public:
 
 	BLinePoint():
 		vertex_(Point(0,0)),
-		width_(0.01),
+		width_(1),
 		origin_(0.0),
-		split_tangent_(false),
+		split_tangent_radius_(true),
+		split_tangent_angle_(false),
 		boned_vertex_(false),
 		vertex_setup_(vertex_)
-	{ tangent_[0] = Point(0,0); tangent_[1] = Point(0,0); }
+	{
+		tangent_[0] = Point(0,0);
+		tangent_[1] = Point(0,0);
+		update_flags();
+	}
 
 	const Point& get_vertex()const { return vertex_; }
 	void set_vertex(const Point& x) { vertex_=x; vertex_setup_=vertex_;}
 
-
-	const Vector& get_tangent1()const { return tangent_[0]; }
-	const Vector& get_tangent2()const { return split_tangent_?tangent_[1]:tangent_[0]; }
-	void set_tangent(const Vector& x) { tangent_[0]=tangent_[1]=x; }
-	void set_tangent1(const Vector& x) { tangent_[0]=x; }
-	void set_tangent2(const Vector& x) { tangent_[1]=x; }
-
+	const Vector& get_tangent1()const { return tangent_[0];	}
+	const Vector& get_tangent2()const
+	{
+		if(merge_tangent_both_)
+			return tangent_[0];
+		if(split_tangent_both_)
+			return tangent_[1];
+		if(split_tangent_radius_)
+			return tangent2_radius_split_;
+		return tangent2_angle_split_;
+	}
+	void set_tangent(const Vector& x) { tangent_[0]=tangent_[1]=x; update_tangent2(); }
+	void set_tangent1(const Vector& x) { tangent_[0]=x; update_tangent2(); }
+	void set_tangent2(const Vector& x) { tangent_[1]=x; update_tangent2(); }
 
 	const float& get_width()const { return width_; }
 	void set_width(float x) { width_=x; }
@@ -82,9 +108,28 @@ public:
 	void set_origin(float x) { origin_=x-0.5f; }
 
 
-	const bool& get_split_tangent_flag()const { return split_tangent_; }
-	void set_split_tangent_flag(bool x=true) { split_tangent_=x; }
+	const bool& get_split_tangent_both()const { return split_tangent_both_; }
+	void set_split_tangent_both(bool x=true) { set_split_tangent_radius(x); set_split_tangent_angle(x); }
+
+	const bool& get_merge_tangent_both()const { return merge_tangent_both_; }
+	void set_merge_tangent_both(bool x=true) { set_split_tangent_radius(!x); set_split_tangent_angle(!x); }
+
+
+	const bool& get_split_tangent_radius()const { return split_tangent_radius_; }
+	void set_split_tangent_radius(bool x=true)
+	{
+		split_tangent_radius_=x;
+		update_tangent2();
+		update_flags();
+	}
 
+	const bool& get_split_tangent_angle()const { return split_tangent_angle_; }
+	void set_split_tangent_angle(bool x=true)
+	{
+		split_tangent_angle_=x;
+		update_tangent2();
+		update_flags();
+	}
 	const bool& get_boned_vertex_flag()const { return boned_vertex_; }
 	void set_boned_vertex_flag(bool x=true) { boned_vertex_=x; }
 
diff --git a/src/synfig/blur.cpp b/src/synfig/blur.cpp
index 39458d3..503a5f5 100644
--- a/src/synfig/blur.cpp
+++ b/src/synfig/blur.cpp
@@ -179,7 +179,6 @@ static void GaussianBlur_3x3(etl::surface<T,AT,VP> &surface)
 
 	// Setup the row buffers
 	for(x=0;x<w;x++)SC0[x]=(AT)(surface[0][x])*4;
-	memset(SC1,0,w*sizeof(AT));
 
 	for(y=0;y<=h;y++)
 	{
@@ -227,9 +226,6 @@ inline static void GaussianBlur_5x5_(etl::surface<T,AT,VP> &surface,AT *SC0,AT *
 
 	// Setup the row buffers
 	for(x=0;x<w;x++)SC0[x+2]=(AT)(surface[0][x])*24;
-	memset(SC1,0,(w+2)*sizeof(AT));
-	memset(SC2,0,(w+2)*sizeof(AT));
-	memset(SC3,0,(w+2)*sizeof(AT));
 
 	for(y=0;y<h+2;y++)
 	{
@@ -314,7 +310,6 @@ static void GaussianBlur_nxn(etl::surface<T,AT,VP> &surface,int n)
 			throw(runtime_error(strprintf(__FILE__":%d:Malloc failure",__LINE__)));
 			return;
 		}
-		memset(SC[i],0,(w+half_n)*sizeof(AT));
 	}
 
 	// Setup the first row
@@ -327,7 +322,8 @@ static void GaussianBlur_nxn(etl::surface<T,AT,VP> &surface,int n)
 		else
 			v=y;
 
-		memset(SR,0,(n-1)*sizeof(AT));
+		if(y!=0)
+			memset(SR,0,(n-1)*sizeof(AT));
 
 //		SR[0]=surface[v][0]*(2.0-1.9/n);
 
@@ -738,10 +734,6 @@ bool Blur::operator()(const Surface &surface,
 			ColorAccumulator *SC1=new ColorAccumulator[w+2];
 			ColorAccumulator *SC2=new ColorAccumulator[w+2];
 			ColorAccumulator *SC3=new ColorAccumulator[w+2];
-			memset(SC0,0,(w+2)*sizeof(ColorAccumulator));
-			memset(SC1,0,(w+2)*sizeof(ColorAccumulator));
-			memset(SC2,0,(w+2)*sizeof(ColorAccumulator));
-			memset(SC3,0,(w+2)*sizeof(ColorAccumulator));
 
 			//synfig::warning("Didn't crash yet b2");
 			//int i = 0;
@@ -1124,10 +1116,6 @@ bool Blur::operator()(cairo_surface_t *surface,
 			CairoColorAccumulator *SC1=new class CairoColorAccumulator[w+2];
 			CairoColorAccumulator *SC2=new class CairoColorAccumulator[w+2];
 			CairoColorAccumulator *SC3=new class CairoColorAccumulator[w+2];
-			memset(SC0,0,(w+2)*sizeof(CairoColorAccumulator));
-			memset(SC1,0,(w+2)*sizeof(CairoColorAccumulator));
-			memset(SC2,0,(w+2)*sizeof(CairoColorAccumulator));
-			memset(SC3,0,(w+2)*sizeof(CairoColorAccumulator));
 						
 			while(bw&&bh)
 			{
diff --git a/src/synfig/blur.h b/src/synfig/blur.h
index a51e38d..b61827f 100644
--- a/src/synfig/blur.h
+++ b/src/synfig/blur.h
@@ -69,7 +69,7 @@ public:
 	const int & get_type() const { return type; }
 	int & get_type() { return type; }
 
-	Blur() {}
+	Blur(): type(), cb() {}
 	Blur(const Point &s, int t, ProgressCallback *callb=0):size(s), type(t), cb(callb) {}
 	Blur(Real sx, Real sy, int t, ProgressCallback *callb = 0): size(sx,sy), type(t), cb(callb) {}
 
diff --git a/src/synfig/bone.cpp b/src/synfig/bone.cpp
index 3b18e8d..72609b1 100644
--- a/src/synfig/bone.cpp
+++ b/src/synfig/bone.cpp
@@ -34,6 +34,10 @@
 #include "guid.h"
 #include "valuenode_bone.h"
 #include <ETL/stringf>
+#include <algorithm>
+#include <cmath>
+#include <inttypes.h>
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -51,14 +55,13 @@ using namespace synfig;
 //! Default constructor
 Bone::Bone():
 	origin_(Point(0,0)),
-	origin0_(Point(0,0)),
 	angle_(Angle::deg(0.0)),
-	angle0_(Angle::deg(0.0)),
-	scalelx_(1.0), scalely_(1.0),
-	scalex_(1.0),  scaley_(1.0),
+	scalelx_(1.0),
+	scalex_(1.0),
 	length_(1.0),
-	strength_(1.0),
-	setup_(false),
+	width_(0.1),
+	tipwidth_(0.1),
+	depth_(0.0),
 	parent_(0)
 {
 	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
@@ -68,14 +71,13 @@ Bone::Bone():
 //!Constructor by origin and tip
 Bone::Bone(const Point &o, const Point &t):
 	origin_(o),
-	origin0_(o),
 	angle_((t-o).angle()),
-	angle0_((t-o).angle()),
-	scalelx_(1.0), scalely_(1.0),
-	scalex_(1.0),  scaley_(1.0),
+	scalelx_(1.0),
+	scalex_(1.0),
 	length_(1.0),
-	strength_(1.0),
-	setup_(false),
+	width_(0.3),
+	tipwidth_(0.3),
+	depth_(0.0),
 	parent_(0)
 {
 	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
@@ -83,17 +85,16 @@ Bone::Bone(const Point &o, const Point &t):
 }
 
 //!Constructor by origin, angle, length, strength, parent bone (default = no parent)
-Bone::Bone(const String &n, const Point &o, const Angle &a, const Real &l, const Real &s, ValueNode_Bone* p):
+Bone::Bone(const String &n, const Point &o, const Angle &a, const Real &l, ValueNode_Bone* p):
 	name_(n),
 	origin_(o),
-	origin0_(o),
 	angle_(a),
-	angle0_(a),
-	scalelx_(1.0), scalely_(1.0),
-	scalex_(1.0),  scaley_(1.0),
+	scalelx_(1.0),
+	scalex_(1.0),
 	length_(l),
-	strength_(s),
-	setup_(false),
+	width_(0.3),
+	tipwidth_(0.3),
+	depth_(0.0),
 	parent_(p)
 {
 	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
@@ -131,21 +132,97 @@ Bone::get_tip()
 synfig::String
 Bone::get_string()const
 {
-	return strprintf("N=%s O=(%.4f %.4f) O0=(%.4f %.4f) a=%.4f a0=%.4f slx=%.4f sly=%.4f sx=%.4f sy=%.4f l=%.4f St=%.4f Se=%d P=%lx",
+	return strprintf("N=%s O=(%.4f %.4f) a=%.4f slx=%.4f sx=%.4f l=%.4f w=%.4f tw=%.4f or=%.4f P=%lx",
 					 name_.c_str(),
 					 origin_[0], origin_[1],
-					 origin0_[0], origin0_[1],
 					 Angle::deg(angle_).get(),
-					 Angle::deg(angle0_).get(),
-					 scalelx_, scalely_, scalex_, scaley_, length_, strength_, setup_, uintptr_t(parent_));
+					 scalelx_, scalex_, length_, width_, tipwidth_, depth_, uintptr_t(parent_));
 }
 
 bool
-Bone::is_root()
+Bone::is_root()const
 {
 	return get_parent()->is_root();
 }
 
+Bone::Shape
+Bone::get_shape() const
+{
+	Matrix matrix = get_animated_matrix();
+	Vector origin = matrix.get_transformed(Vector(0.0, 0.0));
+	Vector direction = matrix.get_transformed(Vector(1.0, 0.0), false).norm();
+	Real length = get_length() * get_scalelx();
+
+	if (length < 0) {
+		length *= -1;
+		direction *= -1;
+	}
+
+	Shape shape;
+	shape.p0 = origin;
+	shape.p1 = origin + direction * length;
+
+	shape.r0 = fabs(get_width());
+	shape.r1 = fabs(get_tipwidth());
+
+	return shape;
+}
+
+Real
+Bone::distance_to_shape_center_percent(const Shape &shape, const Vector &x)
+{
+	static const Real precision = 0.000000001;
+
+	const Vector &p0 = shape.p0;
+	const Vector &p1 = shape.p1;
+	Real r0 = fabs(shape.r0);
+	Real r1 = fabs(shape.r1);
+
+	Real length = (p1 - p0).mag();
+
+	Real percent_p0 = r0 > precision ? 1.0 - (x - p0).mag()/r0 : 0.0;
+	Real percent_p1 = r1 > precision ? 1.0 - (x - p1).mag()/r1 : 0.0;
+
+	// check line
+	Real percent_line = 0.0;
+	if (length + precision > fabs(r1 - r0))
+	{
+		Real cos0 = (r0 - r1)/length;
+		Real cos1 = -cos0;
+
+		Real sin0 = sqrt(1 + precision - cos0*cos0);
+		Real sin1 = sin0;
+
+		Real ll = length - r0*cos0 - r1*cos1;
+		Vector direction = (p1 - p0)/length;
+		Vector pp0(p0 + direction * (r0*cos0));
+		Vector pp1(p0 + direction * (length - r1*cos1));
+		Real rr0 = r0*sin0;
+		Real rr1 = r1*sin1;
+
+		Real pos_at_line = (x - pp0)*direction/ll;
+		if (pos_at_line > 0.0 && pos_at_line < 1.0)
+		{
+			Real distance = fabs((x - pp0)*direction.perp());
+			Real max_distance = rr0*(1.0 - pos_at_line) + rr1*pos_at_line;
+			if (max_distance > 0.0) percent_line = 1.0 - distance/max_distance;
+		}
+	}
+
+	Real percent = 0.0;
+	if (percent_p0 > percent) percent = percent_p0;
+	if (percent_p1 > percent) percent = percent_p1;
+	if (percent_line > percent) percent = percent_line;
+	return percent;
+}
+
+Real
+Bone::influence_function(Real x)
+{
+	return sin(x*PI/2.0);
+}
+
+
 /* === M E T H O D S ======================================================= */
 
 /* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/bone.h b/src/synfig/bone.h
index bcdbbca..5a2bfb6 100644
--- a/src/synfig/bone.h
+++ b/src/synfig/bone.h
@@ -36,17 +36,22 @@
 #include <ETL/handle>
 
 /* === M A C R O S ========================================================= */
+
 // how many hex digits of the guid string to show in debug messages
 #define GUID_PREFIX_LEN 6
 
 #define COUT_BONE(bone)													  \
 	cout<<"[name]="<<bone.name_<<endl;									  \
-	cout<<"[origin]="<<bone.origin_<<"[origin0]="<<bone.origin0_<<endl;	  \
-	cout<<"[angle]="<<bone.angle_<<"[angle0]="<<bone.angle0_<<endl;		  \
-	cout<<"[scalelx]="<<bone.scalelx_<<"[scalely]="<<bone.scalely_<<endl; \
-	cout<<"[scalex]="<<bone.scalex_<<"[scaley]="<<bone.scaley_<<endl;	  \
-	cout<<"[length]="<<bone.length_<<"[strength]="<<bone.strength_<<endl; \
+	cout<<"[origin]="<<bone.origin_<<endl;	                              \
+	cout<<"[angle]="<<bone.angle_<<endl;		                          \
+	cout<<"[scalelx]="<<bone.scalelx_<<endl; \
+	cout<<"[scalex]="<<bone.scalex_<<endl;	  \
+	cout<<"[length]="<<bone.length_<<endl;         \
+	cout<<"[width]="<<bone.width_<<endl; \
+	cout<<"[tipwidth]="<<bone.tipwidth_<<endl; \
+	cout<<"[depth]="<<bone.depth_<<endl; \
 	cout<<"[parent]="<<bone.parent_<<endl
+
 /* === T Y P E D E F S ===================================================== */
 
 /* === C L A S S E S & S T R U C T S ======================================= */
@@ -62,6 +67,18 @@ class Bone: public UniqueID
 
 public:
 	typedef etl::handle<Bone> Handle;
+
+	struct Shape {
+		Vector p0;
+		Real r0;
+		Vector p1;
+		Real r1;
+		inline Shape():
+			r0(0.0), r1(0.0) { }
+		inline Shape(const Vector &p0, Real r0, const Vector &p1, Real r1):
+			p0(p0), r0(r0), p1(p1), r1(r1) { }
+	};
+
 	// typedef etl::loose_handle<Bone> LooseHandle;
 
 	/*
@@ -73,30 +90,23 @@ private:
 	String name_;
 	//!This is the current origin of the bone relative to parent
 	Point origin_;
-	//!This is the origin of the bone at the setup time
-	Point origin0_;
 	//!This is the current angle if the bone relative to parent.
 	Angle angle_;
-	//!This is the angle of the bone at the setup time
-	Angle angle0_;
 	//!This is the current local x scale of the bone.
 	Real scalelx_;
-	//!This is the current local y scale of the bone.
-	Real scalely_;
 	//!This is the current recursive x scale of the bone.
 	Real scalex_;
 	//!This is the current recursive y scale of the bone.
-	Real scaley_;
-	//!This is the length at setup time
 	Real length_;
-	//!This is the strength at setup time
-	Real strength_;
-	//!Whether the bone is currently showing its setup position
-	bool setup_;
+	//!This is the width of bone at its origin
+	Real width_;
+	//!This is the width of bone at its tip
+	Real tipwidth_;
+	//!This is the z-depth of bone
+	Real depth_;
 	//!The parent bone.
 	const ValueNode_Bone* parent_;
 
-	Matrix setup_matrix_;
 	Matrix animated_matrix_;
 
 public:
@@ -105,50 +115,42 @@ public:
 	//!Constructor by origin and tip
 	Bone(const Point &origin, const Point &tip);
 	//!Construtor by origin, legth and parent (default no parent)
-	Bone(const String &name, const Point &origin, const Angle &angle, const Real &length, const Real &strength, ValueNode_Bone* p=0);
+	Bone(const String &name, const Point &origin, const Angle &angle, const Real &length, ValueNode_Bone* p=0);
 	//!Wrappers for name_
 	const String& get_name()const {return name_;}
 	void set_name(const String &x) {name_=x;}
 
-	//!Wrappers for origin_ & origin0_
+	//!Wrappers for origin_
 	const Point& get_origin()const {return origin_;}
 	void set_origin(const Point &x) {origin_=x;}
-	const Point& get_origin0()const {return origin0_;}
-	void set_origin0(const Point &x) {origin0_=x;}
 
-	//!Wrappers for angle_ & angle0_
+	//!Wrappers for angle_
 	const Angle& get_angle()const {return angle_;}
 	void set_angle(const Angle &x) {angle_=x;}
-	const Angle& get_angle0()const {return angle0_;}
-	void set_angle0(const Angle &x) {angle0_=x;}
 
 	//!Wrapper for scalelx
 	const Real& get_scalelx()const {return scalelx_;}
 	void set_scalelx(const Real &x) {scalelx_=x;}
 
-	//!Wrapper for scalely
-	const Real& get_scalely()const {return scalely_;}
-	void set_scalely(const Real &y) {scalely_=y;}
-
 	//!Wrapper for scalex
 	const Real& get_scalex()const {return scalex_;}
 	void set_scalex(const Real &x) {scalex_=x;}
 
-	//!Wrapper for scaley
-	const Real& get_scaley()const {return scaley_;}
-	void set_scaley(const Real &y) {scaley_=y;}
-
 	//!Wrapper for length. Notice that a length of 0 is not allowed.
 	const Real& get_length()const {return length_;}
 	void set_length(const Real &x) {length_=x<0.00001?0.00001:x;}
 
-	//!Wrapper for strength
-	const Real& get_strength()const {return strength_;}
-	void set_strength(const Real &x) {strength_=x;}
+	//!Wrapper for width
+	const Real& get_width()const {return width_;}
+	void set_width(const Real &x) {width_=x;}
+	
+	//!Wrapper for tipwidth
+	const Real& get_tipwidth()const {return tipwidth_;}
+	void set_tipwidth(const Real &x) {tipwidth_=x;}
 
-	//!Wrapper for setup
-	const bool& get_setup()const {return setup_;}
-	void set_setup(const bool &x) {setup_=x;}
+	//!Wrapper for depth
+	const Real& get_depth()const {return depth_;}
+	void set_depth(const Real &x) {depth_=x;}
 
 	//!This gets the calculated tip of the bone based on
 	//!tip=origin+[length,0]*Rotate(alpha)*Scalex(scalex*scalelx)
@@ -162,13 +164,6 @@ public:
 	void add_bone_to_map();
 	Bone* find_bone_in_map(int uid);
 
-	//!Setup Transformation matrix.
-	//!This matrix applied to a setup point in global
-	//!coordinates calculates the local coordinates of
-	//!the point relative to the current bone.
-	Matrix get_setup_matrix() const { return setup_matrix_; }
-	void set_setup_matrix(Matrix x) { setup_matrix_ = x; }
-
 	//!Animated Transformation matrix.
 	//!This matrix applied to a setup point in local
 	//!coordinates (the one obtained form the Setup
@@ -178,15 +173,32 @@ public:
 	Matrix get_animated_matrix() const { return animated_matrix_; }
 	void set_animated_matrix(Matrix x) { animated_matrix_ = x; }
 
-	Vector get_local_scale() const { return Vector(scalelx_, scalely_); }
+	Vector get_local_scale() const { return Vector(scalelx_, 1.0); }
 
 	//!Get the string of the Bone
 	//!@return String type. A string representation of the bone
 	//!components.
 	synfig::String get_string()const;
 
-	bool is_root();
+	bool is_root()const;
+
+	Shape get_shape() const;
+
+	static Real distance_to_shape_center_percent(const Shape &shape, const Vector &x);
+	static Real influence_function(Real distance_percent);
+
+	static Real influence_percent(const Shape &shape, const Vector &x)
+		{ return influence_function(distance_to_shape_center_percent(shape, x)); }
+
+	Real distance_to_shape_center_percent(const Vector &x)const
+		{ return distance_to_shape_center_percent(get_shape(), x); }
+
+	Real influence_percent(const Vector &x)const
+		{ return influence_percent(get_shape(), x); }
 
+	// checks if point belongs to the range of influence of current bone
+	bool have_influence_on(const Vector &x)const
+		{ return distance_to_shape_center_percent(x) > 0.0; }
 }; // END of class Bone
 
 }; // END of namespace synfig
@@ -199,8 +211,8 @@ public:
  * I think that we can leave the bone as a simple information holder
  * and only give it the responsibility of:
  * Set and get:
- * 		-origin, origin0,
- * 		-angle, angle0,
+ * 		-origin,
+ * 		-angle,
  * 		-scalelx,
  * 		-scalely,
  * 		-scalex,
@@ -214,7 +226,6 @@ public:
  * 		parent_tree is not needed.
  * 		-Skeletons Pointer (see below)
  * Also the bone should:
- * 		-get_setup_matrix
  * 		-get_animated_matrix
  * 		-get_tip
  *
@@ -246,7 +257,7 @@ public:
  * list of bones by its UniqueID value. For example to calcualte the setup matrix it should
  * reconstruct the bone hierarchy from the current bone to the root parent. Due to that now,
  * it is only stored the UniqueID of the parent (and not a pointer), it is the skeletons veluenode
- * who have to perform all the job: find all the parents and multiply in the correct order its
+ * who have to perform all the job: find all the parents and multiply in the correct order (depth) its
  * matrixes. The same happen for the animated matrix.
  * For reparent it is the same. It is just a modification of the parent UniqueID.
  * Remove a bone from the list would imply remove all its children from the list. A warning should be triggered.
diff --git a/src/synfig/boneweightpair.h b/src/synfig/boneweightpair.h
index de1dadb..27bbfa6 100644
--- a/src/synfig/boneweightpair.h
+++ b/src/synfig/boneweightpair.h
@@ -55,7 +55,7 @@ private:
 	Real weight;
 
 public:
-	BoneWeightPair() {}
+	BoneWeightPair(): weight() {}
 	BoneWeightPair(Bone bone, Real weight): bone(bone), weight(weight) { }
 
 	Real get_weight()const { return weight; }
diff --git a/src/synfig/cairoimporter.cpp b/src/synfig/cairoimporter.cpp
index 1748a66..db762d1 100644
--- a/src/synfig/cairoimporter.cpp
+++ b/src/synfig/cairoimporter.cpp
@@ -52,7 +52,7 @@ using namespace synfig;
 
 CairoImporter::Book* synfig::CairoImporter::book_;
 
-map<String, CairoImporter::LooseHandle> *__open_cairoimporters;
+map<FileSystem::Identifier, CairoImporter::LooseHandle> *__open_cairoimporters;
 
 /* === P R O C E D U R E S ================================================= */
 
@@ -62,7 +62,7 @@ bool
 CairoImporter::subsys_init()
 {
 	book_=new Book();
-	__open_cairoimporters=new map<String, CairoImporter::LooseHandle>();
+	__open_cairoimporters=new map<FileSystem::Identifier, CairoImporter::LooseHandle>();
 	return true;
 }
 
@@ -81,47 +81,43 @@ CairoImporter::book()
 }
 
 CairoImporter::Handle
-CairoImporter::open(const String &filename)
+CairoImporter::open(const FileSystem::Identifier &identifier)
 {
-	if(filename.empty())
+	if(identifier.filename.empty())
 	{
-		synfig::error(_("Importer::open(): Cannot open empty filename"));
+		synfig::error(_("CairoImporter::open(): Cannot open empty filename"));
 		return 0;
 	}
 
 	// If we already have an importer open under that filename,
 	// then use it instead.
-	if(__open_cairoimporters->count(filename))
+	if(__open_cairoimporters->count(identifier))
 	{
-		//synfig::info("Found importer already open, using it...");
-		return (*__open_cairoimporters)[filename];
+		//synfig::info("Found cairo importer already open, using it...");
+		return (*__open_cairoimporters)[identifier];
 	}
 
-	if(filename_extension(filename) == "")
+	if(filename_extension(identifier.filename) == "")
 	{
-		synfig::error(_("Importer::open(): Couldn't find extension"));
+		synfig::error(_("CairoImporter::open(): Couldn't find extension"));
 		return 0;
 	}
 
-	String ext(filename_extension(filename));
+	String ext(filename_extension(identifier.filename));
 	if (ext.size()) ext = ext.substr(1); // skip initial '.'
 	std::transform(ext.begin(),ext.end(),ext.begin(),&::tolower);
 
 
 	if(!CairoImporter::book().count(ext))
 	{
-		synfig::error(_("Importer::open(): Unknown file type -- ")+ext);
+		synfig::error(_("CairoImporter::open(): Unknown file type -- ")+ext);
 		return 0;
 	}
 
 	try {
 		CairoImporter::Handle importer;
-#ifdef WIN32
-		importer=CairoImporter::book()[ext](Glib::locale_from_utf8(filename).c_str());
-#else
-		importer=CairoImporter::book()[ext](filename.c_str());
-#endif
-		(*__open_cairoimporters)[filename]=importer;
+		importer=CairoImporter::book()[ext].factory(identifier);
+		(*__open_cairoimporters)[identifier]=importer;
 		return importer;
 	}
 	catch (String str)
@@ -131,8 +127,9 @@ CairoImporter::open(const String &filename)
 	return 0;
 }
 
-CairoImporter::CairoImporter():
-	gamma_(2.2)
+CairoImporter::CairoImporter(const FileSystem::Identifier &identifier):
+	gamma_(2.2),
+	identifier(identifier)
 {
 }
 
@@ -140,7 +137,7 @@ CairoImporter::CairoImporter():
 CairoImporter::~CairoImporter()
 {
 	// Remove ourselves from the open importer list
-	map<String,CairoImporter::LooseHandle>::iterator iter;
+	map<FileSystem::Identifier,CairoImporter::LooseHandle>::iterator iter;
 	for(iter=__open_cairoimporters->begin();iter!=__open_cairoimporters->end();++iter)
 		if(iter->second==this)
 		{
diff --git a/src/synfig/cairoimporter.h b/src/synfig/cairoimporter.h
index 8b81cec..43ca9a9 100644
--- a/src/synfig/cairoimporter.h
+++ b/src/synfig/cairoimporter.h
@@ -35,6 +35,7 @@
 #include "time.h"
 #include "gamma.h"
 #include "renddesc.h"
+#include "filesystem.h"
 
 #include "cairo.h"
 
@@ -44,7 +45,30 @@
 //! To be used in the private part of the importer class definition.
 #define SYNFIG_CAIROIMPORTER_MODULE_EXT \
 		public: static const char name__[], version__[], ext__[],cvs_id__[]; \
-		static CairoImporter *create(const char *filename);
+		static const bool supports_file_system_wrapper__; \
+		static synfig::CairoImporter *create(const synfig::FileSystem::Identifier &identifier);
+
+//! Defines constructor for class derived from other class which derived from CairoImporter
+#define SYNFIG_CAIROIMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, parent) \
+		public: class(const synfig::FileSystem::Identifier &identifier): parent(identifier) { }
+
+//! Defines constructor for class derived from CairoImporter
+#define SYNFIG_CAIROIMPORTER_MODULE_CONSTRUCTOR(class) \
+		SYNFIG_CAIROIMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, synfig::CairoImporter)
+
+//! Defines various variables and the create method, common for all importers.
+//! To be used in the private part of the importer class definition.
+//! And defines constructor for class derived from other class which derived from CairoImporter
+#define SYNFIG_CAIROIMPORTER_MODULE_DECLARATIONS_DERIVED(class, parent) \
+		SYNFIG_CAIROIMPORTER_MODULE_EXT \
+		SYNFIG_CAIROIMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, parent)
+
+//! Defines various variables and the create method, common for all importers.
+//! To be used in the private part of the importer class definition.
+//! And defines constructor
+#define SYNFIG_CAIROIMPORTER_MODULE_DECLARATIONS(class) \
+		SYNFIG_CAIROIMPORTER_MODULE_EXT \
+		SYNFIG_CAIROIMPORTER_MODULE_CONSTRUCTOR(class)
 
 //! Sets the name of the importer.
 #define SYNFIG_CAIROIMPORTER_SET_NAME(class,x) const char class::name__[]=x
@@ -58,9 +82,12 @@
 //! Sets the CVS ID of the importer.
 #define SYNFIG_CAIROIMPORTER_SET_CVS_ID(class,x) const char class::cvs_id__[]=x
 
+//! Sets the supports_file_system_wrapper flag of the importer.
+#define SYNFIG_CAIROIMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(class,x) const bool class::supports_file_system_wrapper__=x
+
 //! Defines de implementation of the create method for the importer
 //! \param filename The file name to be imported by the importer.
-#define SYNFIG_CAIROIMPORTER_INIT(class) synfig::CairoImporter* class::create(const char *filename) { return new class(filename); }
+#define SYNFIG_CAIROIMPORTER_INIT(class) synfig::CairoImporter* class::create(const synfig::FileSystem::Identifier &identifier) { return new class(identifier); }
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -85,10 +112,22 @@ class ProgressCallback;
 class CairoImporter : public etl::shared_object
 {
 public:
-	//! Type that represents a pointer to a Importer's constructor.
+	//! Type that represents a pointer to a CairoImporter's constructor.
 	//! As a pointer to the constructor, it represents a "factory" of importers.
-	typedef CairoImporter* (*Factory)(const char *filename);
-	typedef std::map<String, Factory> Book;
+	typedef CairoImporter* (*Factory)(const FileSystem::Identifier &identifier);
+
+	struct BookEntry
+	{
+		Factory factory;
+		bool supports_file_system_wrapper;
+
+		BookEntry(): factory(NULL), supports_file_system_wrapper(false) { }
+		BookEntry(Factory factory, bool supports_file_system_wrapper):
+		factory(factory), supports_file_system_wrapper(supports_file_system_wrapper)
+		{ }
+	};
+
+	typedef std::map<std::string,BookEntry> Book;
 	static Book* book_;
 
 	static Book& book();
@@ -110,9 +149,10 @@ private:
 	Gamma gamma_;
 
 protected:
-	CairoImporter();
+	CairoImporter(const FileSystem::Identifier &identifier);
 
 public:
+	const FileSystem::Identifier identifier;
 
 	Gamma& gamma() { return gamma_; }
 	const Gamma& gamma()const { return gamma_; }
@@ -143,7 +183,7 @@ public:
 	virtual bool is_animated() { return false; }
 
 	//! Attempts to open \a filename, and returns a handle to the associated CairoImporter
-	static Handle open(const String &filename);
+	static Handle open(const FileSystem::Identifier &identifier);
 };
 
 }; // END of namespace synfig
diff --git a/src/synfig/cairolistimporter.cpp b/src/synfig/cairolistimporter.cpp
index 65c9a45..f412c6b 100644
--- a/src/synfig/cairolistimporter.cpp
+++ b/src/synfig/cairolistimporter.cpp
@@ -33,6 +33,7 @@
 
 #include "cairolistimporter.h"
 #include "general.h"
+#include "filesystemnative.h"
 #include <fstream>
 
 #endif
@@ -54,36 +55,39 @@ SYNFIG_CAIROIMPORTER_SET_NAME(CairoListImporter,"lst");
 SYNFIG_CAIROIMPORTER_SET_EXT(CairoListImporter,"lst");
 SYNFIG_CAIROIMPORTER_SET_VERSION(CairoListImporter,"0.1");
 SYNFIG_CAIROIMPORTER_SET_CVS_ID(CairoListImporter,"$Id$");
-
+SYNFIG_CAIROIMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(CairoListImporter,false);
 
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
 
-CairoListImporter::CairoListImporter(const String &filename)
+
+//TODO factorize code with listimporter.cpp
+CairoListImporter::CairoListImporter(const FileSystem::Identifier &identifier):
+CairoImporter(identifier)
 {
 	fps=15;
 
-	ifstream stream(filename.c_str());
+	ifstream stream(identifier.filename.c_str());
 
 	if(!stream)
 	{
-		synfig::error("Unable to open "+filename);
+		synfig::error("Unable to open "+identifier.filename);
 		return;
 	}
 	String line;
-	String prefix=etl::dirname(filename)+ETL_DIRECTORY_SEPARATOR;
-	getline(stream,line);		// read first line and check whether it is a Papagayo lip sync file
+	String prefix=etl::dirname(identifier.filename)+ETL_DIRECTORY_SEPARATOR;
 
-	if (line == "MohoSwitch1")	// it is a Papagayo lipsync file
+	///! read first line and check whether it is a Papagayo lip sync file
+	if(!FileSystem::safeGetline(stream, line).eof())
+	if (line == "MohoSwitch1")
 	{
+		///! it is a Papagayo lipsync file
 		String phoneme, prevphoneme, prevext, ext(".jpg"); // default image format
 		int frame, prevframe = -1; // it means that the previous phoneme is not known
 
-		while(!stream.eof())
+		while(!FileSystem::safeGetline(stream, line).eof())
 		{
-			getline(stream,line);
-
 			if(line.find(String("FPS ")) == 0)
 			{
 				float f = atof(String(line.begin()+4,line.end()).c_str());
@@ -129,9 +133,8 @@ CairoListImporter::CairoListImporter(const String &filename)
 	}
 
 	stream.seekg(ios_base::beg);
-	while(!stream.eof())
+	while(!FileSystem::safeGetline(stream, line).eof())
 	{
-		getline(stream,line);
 		if(line.empty())
 			continue;
 		// If we have a framerate, then use it
@@ -184,7 +187,7 @@ CairoListImporter::get_frame(cairo_surface_t *&csurface, const RendDesc &renddes
 		}
 	}
 
-	CairoImporter::Handle importer(CairoImporter::open(filename_list[frame]));
+	CairoImporter::Handle importer(CairoImporter::open(FileSystem::Identifier(FileSystemNative::instance(), filename_list[frame])));
 
 	if(!importer)
 	{
diff --git a/src/synfig/cairolistimporter.h b/src/synfig/cairolistimporter.h
index ce49e98..17f7517 100644
--- a/src/synfig/cairolistimporter.h
+++ b/src/synfig/cairolistimporter.h
@@ -78,7 +78,7 @@ private:
 
 public:
 
-	CairoListImporter(const String &filename);
+	CairoListImporter(const FileSystem::Identifier &identifier);
 	~CairoListImporter();
 
 	virtual bool get_frame(cairo_surface_t *&csurface, const RendDesc &renddesc, Time time, ProgressCallback *callback=NULL);
diff --git a/src/synfig/canvas.cpp b/src/synfig/canvas.cpp
index 6cc66e9..0ac1040 100644
--- a/src/synfig/canvas.cpp
+++ b/src/synfig/canvas.cpp
@@ -37,7 +37,10 @@
 #include "time.h"
 #include "context.h"
 #include "layer_pastecanvas.h"
+#include "valuenode_const.h"
+#include "valuenode_scale.h"
 #include "loadcanvas.h"
+#include "filesystemnative.h"
 #include <sigc++/bind.h>
 
 #endif
@@ -46,7 +49,7 @@ using namespace synfig;
 using namespace etl;
 using namespace std;
 
-namespace synfig { extern Canvas::Handle open_canvas(const String &filename, String &errors, String &warnings); };
+namespace synfig { extern Canvas::Handle open_canvas_as(const FileSystem::Identifier &identifier, const String &as, String &errors, String &warnings); };
 
 /* === M A C R O S ========================================================= */
 
@@ -79,6 +82,7 @@ Canvas::Canvas(const String &id):
 	op_flag_	(false),
 	grow_value	(0.0)
 {
+	identifier_.file_system = FileSystemNative::instance();
 	_CanvasCounter::counter++;
 	clear();
 }
@@ -601,7 +605,7 @@ Canvas::surefind_canvas(const String &id, String &warnings)
 		else
 		{
 			String errors;
-			external_canvas=open_canvas(file_name, errors, warnings);
+			external_canvas=open_canvas_as(get_identifier().file_system->get_identifier(file_name), file_name, errors, warnings);
 			if(!external_canvas)
 				throw runtime_error(errors);
 			externals_[file_name]=external_canvas;
@@ -687,7 +691,7 @@ Canvas::find_canvas(const String &id, String &warnings)const
 		else
 		{
 			String errors, warnings;
-			external_canvas=open_canvas(file_name, errors, warnings);
+			external_canvas=open_canvas_as(get_identifier().file_system->get_identifier(file_name), file_name, errors, warnings);
 			if(!external_canvas)
 				throw runtime_error(errors);
 			externals_[file_name]=external_canvas;
@@ -860,6 +864,9 @@ Canvas::clone(const GUID& deriv_guid, bool for_export)const
 
 	canvas->set_guid(get_guid()^deriv_guid);
 
+	if (canvas->parent().empty())
+		canvas->set_file_name(get_file_name());
+
 	const_iterator iter;
 	for(iter=begin();iter!=end();++iter)
 	{
@@ -1021,8 +1028,9 @@ Canvas::remove_child_canvas(Canvas::Handle child_canvas)
 }
 
 void
-Canvas::set_file_name(const String &file_name)
+Canvas::set_file_name(const String &file_name_orig)
 {
+	String file_name = FileSystem::fix_slashes(file_name_orig);
 	if(parent())
 		parent()->set_file_name(file_name);
 	else
@@ -1073,6 +1081,19 @@ Canvas::get_file_path()const
 	return dirname(file_name_);
 }
 
+void
+Canvas::set_identifier(const FileSystem::Identifier &identifier)
+{
+	identifier_ = identifier;
+}
+
+const FileSystem::Identifier&
+Canvas::get_identifier()const
+{
+	return parent() ? parent()->get_identifier() : identifier_;
+}
+
+
 String
 Canvas::get_meta_data(const String& key)const
 {
@@ -1139,19 +1160,21 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 		for(iter=context,i=0;*iter;iter++,i++)
 		{
 			Layer::Handle layer=*iter;
+			
+			const float layer_visibility=context.z_depth_visibility(*layer);
 
 			// If the layer isn't active, don't worry about it
-			if(!context.active(*layer))
+			if(!context.active(*layer) || layer_visibility==0.0)
 				continue;
 
 			// Any layer with an amount of zero is implicitly disabled.
 			ValueBase value(layer->get_param("amount"));
-			if(value.get_type()==ValueBase::TYPE_REAL && value.get(Real())==0)
+			if(value.get_type()==type_real && value.get(Real())==0)
 				continue;
 
 			if(layer->get_name()=="MotionBlur" || layer->get_name()=="duplicate")
 			{
-				float z_depth(layer->get_z_depth()*1.0001+i);
+				float z_depth(layer->get_true_z_depth(time));
 
 				// If we've seen a motion blur before in this context...
 				if (seen_motion_blur_locally)
@@ -1177,23 +1200,25 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 	for(iter=context,i=0;*iter;iter++,i++)
 	{
 		Layer::Handle layer=*iter;
-		float z_depth(layer->get_z_depth()*1.0001+i);
+		float z_depth(layer->get_true_z_depth(time));
+		const float layer_visibility=context.z_depth_visibility(*layer);
+		//synfig::info("Visibility of %s called %s = %f", layer->get_name().c_str(), layer->get_description().c_str(), layer_visibility);
 
-		// If the layer isn't active, don't worry about it
-		if(!context.active(*layer))
+		// If the layer isn't active or isn't visible in its z depth range,
+		// don't worry about it
+		if(!context.active(*layer) || layer_visibility==0.0)
 			continue;
 
 		// Any layer with an amount of zero is implicitly disabled.
 		ValueBase value(layer->get_param("amount"));
-		if(value.get_type()==ValueBase::TYPE_REAL && value.get(Real())==0)
+		if(value.get_type()==type_real && value.get(Real())==0)
 			continue;
 
 		// note: this used to include "&& paste_canvas->get_time_offset()==0", but then
 		//		 time-shifted layers weren't being sorted by z-depth (bug #1806852)
-		if(layer->get_name()=="PasteCanvas")
+		Layer_PasteCanvas* paste_canvas(dynamic_cast<Layer_PasteCanvas*>(layer.get()));
+		if(paste_canvas!=NULL)
 		{
-			Layer_PasteCanvas* paste_canvas(static_cast<Layer_PasteCanvas*>(layer.get()));
-
 			// we need to blur the sub canvas if:
 			// our parent is blurred,
 			// or the child is lower than a local blur,
@@ -1224,7 +1249,9 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 					paste_sub_canvas->set_grow_value(parent_grow+paste_canvas->get_param("outline_grow").get(Real()));
 				else
 					paste_sub_canvas->set_grow_value(0.0);
-				optimize_layers(time, paste_sub_canvas->get_context(context),sub_canvas,motion_blurred);
+				ContextParams params=context.get_params();
+				paste_canvas->apply_z_range_to_params(params);
+				optimize_layers(time, paste_sub_canvas->get_context(params),sub_canvas,motion_blurred);
 			}
 
 // \todo: uncommenting the following breaks the rendering of at least examples/backdrop.sifz quite severely
@@ -1252,7 +1279,7 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 							throw int();
 
 						ValueBase value(layer->get_param("blend_method"));
-						if(value.get_type()!=ValueBase::TYPE_INTEGER || value.get(int())!=(int)Color::BLEND_COMPOSITE)
+						if(value.get_type()!=type_integer || value.get(int())!=(int)Color::BLEND_COMPOSITE)
 							throw int();
 					}
 
@@ -1271,8 +1298,10 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 				{ }
 #endif	// SYNFIG_OPTIMIZE_PASTE_CANVAS
 
-			Layer::Handle new_layer(Layer::create("PasteCanvas"));
-			dynamic_cast<Layer_PasteCanvas*>(new_layer.get())->set_muck_with_time(false);
+			etl::handle<Layer_PasteCanvas> new_layer =
+				etl::handle<Layer_PasteCanvas>::cast_dynamic( Layer::create(paste_canvas->get_name()) );
+			new_layer->set_optimized(true);
+			new_layer->set_muck_with_time(false);
 			if (motion_blurred)
 			{
 				Layer::DynamicParamList dynamic_param_list(paste_canvas->dynamic_param_list());
@@ -1282,8 +1311,8 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 			Layer::ParamList param_list(paste_canvas->get_param_list());
 			//param_list.erase("canvas");
 			new_layer->set_param_list(param_list);
-			dynamic_cast<Layer_PasteCanvas*>(new_layer.get())->set_sub_canvas(sub_canvas);
-			dynamic_cast<Layer_PasteCanvas*>(new_layer.get())->set_muck_with_time(true);
+			new_layer->set_sub_canvas(sub_canvas);
+			new_layer->set_muck_with_time(true);
 			layer=new_layer;
 		}
 		else					// not a PasteCanvas - does it use blend method 'Straight'?
@@ -1307,6 +1336,8 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 			 * returns true for layers which need to be able to see
 			 * their context.  we can't encapsulate those.
 			 */
+
+			/*
 			if (composite &&
 				Color::is_straight(composite->get_blend_method()) &&
 				!composite->reads_context())
@@ -1314,9 +1345,9 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 				Canvas::Handle sub_canvas(Canvas::create_inline(op_canvas));
 				// don't use clone() because it re-randomizes the seeds of any random valuenodes
 				sub_canvas->push_back(composite = composite->simple_clone());
-				layer = Layer::create("PasteCanvas");
+				layer = Layer::create("group");
 				composite->set_description(strprintf("Wrapped clone of '%s'", composite->get_non_empty_description().c_str()));
-				layer->set_description(strprintf("PasteCanvas wrapper for '%s'", composite->get_non_empty_description().c_str()));
+				layer->set_description(strprintf("Group wrapper for '%s'", composite->get_non_empty_description().c_str()));
 				Layer_PasteCanvas* paste_canvas(static_cast<Layer_PasteCanvas*>(layer.get()));
 				paste_canvas->set_blend_method(composite->get_blend_method());
 				paste_canvas->set_amount(composite->get_amount());
@@ -1325,8 +1356,38 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 				composite->set_amount(1.0f); // after set_time()
 				paste_canvas->set_sub_canvas(sub_canvas);
 			}
+			*/
+		}
+		// Alright, the layer is included in the sorted list
+		// let's look if it is a composite and if it is partially visible
+		etl::handle<Layer_Composite> composite = etl::handle<Layer_Composite>::cast_dynamic(layer);
+		if(composite && layer_visibility < 1.0)
+		{
+			// Let's clone the composite layer if it is not a Paste Canvas
+			// (because paste will be always new layer)
+			// Oops... not always...
+			//if(dynamic_cast<Layer_PasteCanvas*>(layer.get()) != NULL)
+				composite = composite->simple_clone();
+			// Let's scale the amount parameter by the z depth visibility
+			ValueNode::Handle amount;
+			// First look if amount is dynamic:
+			if(composite->dynamic_param_list().count("amount"))
+			{
+				amount=composite->dynamic_param_list().find("amount")->second;
+			}
+			else
+			// It is normal constant parameter
+			{
+				amount=ValueNode_Const::create(layer->get_param("amount").get(Real()));
+			}
+			// Connect a ValueNode_Scale to the amount parameter with the right sub-parameters
+			ValueNode::Handle value_node=LinkableValueNode::create("scale", ValueBase(Real()), op_canvas);
+			ValueNode_Scale::Handle scale=ValueNode_Scale::Handle::cast_dynamic(value_node);
+			scale->set_link("link", amount);
+			scale->set_link("scalar", ValueNode_Const::create(layer_visibility));
+			composite->connect_dynamic_param("amount", value_node);
+			layer=composite;
 		}
-
 		sort_list.push_back(std::pair<float,Layer::Handle>(z_depth,layer));
 		//op_canvas->push_back_simple(layer);
 	}
@@ -1504,7 +1565,7 @@ Canvas::show_structure(int i) const
 		else
 			printf(": no composite");
 		printf("\n");
-		if(layer->get_name()=="PasteCanvas")
+		if(dynamic_cast<Layer_PasteCanvas*>(layer.get()) != NULL)
 		{
 			Layer_PasteCanvas* paste_canvas(static_cast<Layer_PasteCanvas*>(layer.get()));
 			paste_canvas->get_sub_canvas()->show_structure(i+1);
@@ -1602,3 +1663,10 @@ Canvas::get_string()const
 {
 	return String("Canvas: ") + get_description();
 }
+
+void
+Canvas::fill_sound_processor(SoundProcessor &soundProcessor) const
+{
+	for(IndependentContext c = begin(); *c; ++c)
+		(*c)->fill_sound_processor(soundProcessor);
+}
diff --git a/src/synfig/canvas.h b/src/synfig/canvas.h
index 060bfc7..0bb3ffb 100644
--- a/src/synfig/canvas.h
+++ b/src/synfig/canvas.h
@@ -42,6 +42,7 @@
 #include "renddesc.h"
 #include "node.h"
 #include "guid.h"
+#include "filesystem.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -107,12 +108,17 @@
  *      Added "homogenous" link to "BLineCalcVertex", "BLineCalcTangent"
  *      and "BLineCalcWidth" valuenodes.
  *
- * 0.9 git
+ * 0.9: git 6922776b8129fdae6cb42953b2715decc810786c
+ *
+ *		Added "split_radius" and "split_angle" to BLinePoint Composite
+ *		Value Node
+ *
+ * 1.0 git
  *
  *      Added a canvas component called
  */
 
-#define CURRENT_CANVAS_VERSION "0.9"
+#define CURRENT_CANVAS_VERSION "1.0"
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -125,6 +131,7 @@ class ContextParams;
 class Context;
 class GUID;
 class Canvas;
+class SoundProcessor;
 
 typedef        etl::handle<Canvas>     CanvasHandle;
 
@@ -189,6 +196,10 @@ private:
 	/*! \see get_file_name(), set_file_name() */
 	String file_name_;
 
+	//! File identifier of Canvas
+	/*! \see get_identifier(), set_identifier() */
+	FileSystem::Identifier identifier_;
+
 	//! Metadata map for Canvas.
 	/*! \see get_meta_data(), set_meta_data(), erase_meta_data() */
 	std::map<String, String> meta_data_;
@@ -540,6 +551,12 @@ public:
 	//! Gets the filename (with path)
 	String get_file_name()const;
 
+	//! Sets the file identifier
+	void set_identifier(const FileSystem::Identifier &);
+
+	//! Gets the file identifier
+	const FileSystem::Identifier& get_identifier()const;
+
 	//! Creates a new child canvas, and returns its handle
 	Handle new_child_canvas();
 
@@ -654,6 +671,9 @@ protected:
 	//! stores it in the passed Time Set \set
 	//! \see Node::get_times()
 	virtual void get_times_vfunc(Node::time_set &set) const;
+
+public:
+	void fill_sound_processor(SoundProcessor &soundProcessor) const;
 }; // END of class Canvas
 
 }; // END of namespace synfig
diff --git a/src/synfig/color.cpp b/src/synfig/color.cpp
index 543ecb4..0f82be4 100644
--- a/src/synfig/color.cpp
+++ b/src/synfig/color.cpp
@@ -49,7 +49,9 @@ using namespace std;
 #define COLOR_EPSILON	(0.000001f)
 
 /* === G L O B A L S ======================================================= */
-
+const Color::value_type Color::ceil=1;
+const Color::value_type Color::floor=0;
+const float CairoColor::range=CairoColor::ceil-CairoColor::floor;
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
diff --git a/src/synfig/color.h b/src/synfig/color.h
index d37f87d..15f9046 100644
--- a/src/synfig/color.h
+++ b/src/synfig/color.h
@@ -50,14 +50,6 @@
 #define gamma_in(x)				((x>=0) ? pow((float)x,1.0f/colorspace_gamma()) : -pow((float)-x,1.0f/colorspace_gamma()))
 #define gamma_out(x)			((x>=0) ? pow((float)x,     colorspace_gamma()) : -pow((float)-x,     colorspace_gamma()))
 
-#ifdef WIN32
-#include <float.h>
-#ifndef isnan
-extern "C" { int _isnan(double x); }
-#define isnan _isnan
-#endif
-#endif
-
 // For some reason isnan() isn't working on macosx any more.
 // This is a quick fix.
 #if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
@@ -120,8 +112,8 @@ private:
 
 public:
 	
-	static const value_type ceil=1;	
-	static const value_type floor=0;
+	static const value_type ceil;
+	static const value_type floor;
 	
 	const String get_string(void)const;
 
@@ -589,7 +581,7 @@ private:
 public:
 	static const unsigned char ceil=255;	
 	static const unsigned char floor=0;
-	static const float range=ceil-floor;
+	static const float range;
 	static const value_type amask=0xFF<<24;
 	static const value_type rmask=0xFF<<16;
 	static const value_type gmask=0xFF<<8;
@@ -978,7 +970,7 @@ public:
 		{ return !isnan(r_) && !isnan(g_) && !isnan(b_) && !isnan(a_); }
 		
 	public:
-		CairoColorAccumulator() { }
+		CairoColorAccumulator(): a_(), r_(), g_(), b_() { }
 		
 		/*!	\param R Red
 		 **	\param G Green
@@ -1145,7 +1137,7 @@ public:
 	{ return !isnan(r_) && !isnan(g_) && !isnan(b_) && !isnan(a_); }
 
 public:
-	ColorAccumulator() { }
+	ColorAccumulator(): a_(), r_(), g_(), b_() { }
 
 	/*!	\param R Red
 	**	\param G Green
diff --git a/src/synfig/context.cpp b/src/synfig/context.cpp
index cfa78b7..7204213 100644
--- a/src/synfig/context.cpp
+++ b/src/synfig/context.cpp
@@ -33,10 +33,12 @@
 
 #include "context.h"
 #include "layer.h"
+#include "layer_pastecanvas.h"
 #include "string.h"
 #include "vector.h"
 #include "color.h"
 #include "valuenode.h"
+#include "transformation.h"
 
 #endif
 
@@ -94,7 +96,7 @@ IndependentContext::set_time(Time time)const
 		//        or it's a stroboscope layer,
 		//        or it's a time loop layer,
 		// then break out of the loop and set its time
-		if( /* (*context)->active() && */
+		if((*context)->active() &&
 		   (!(*context)->dirty_time_.is_equal(time) ||
 			(*context)->get_name() == "stroboscope" ||
 			(*context)->get_name() == "timeloop"))
@@ -178,7 +180,7 @@ IndependentContext::set_dirty_outlines()
 			(
 			(*context)->get_name() == "outline" ||
 			(*context)->get_name() == "advanced_outline" ||
-			(*context)->get_name() == "PasteCanvas"
+			dynamic_cast<Layer_PasteCanvas*>((*context).get()) != NULL
 			)
 		  )
 			{
@@ -199,7 +201,7 @@ Context::get_color(const Point &pos)const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if(context.active())
+		if(context.active() && context.in_z_range())
 			break;
 
 		// Otherwise, we want to keep searching
@@ -225,7 +227,7 @@ Context::get_cairocolor(const Point &pos)const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if(context.active())
+		if(context.active() && context.in_z_range())
 			break;
 		
 		// Otherwise, we want to keep searching
@@ -250,9 +252,9 @@ Context::get_full_bounding_rect()const
 
 	while(!context->empty())
 	{
-		// If this layer is active, then go
-		// ahead and break out of the loop
-		if(context.active())
+		// If this layer is active and visible in z_depth range,
+		// then go ahead and break out of the loop
+		if(context.active() && context.in_z_range())
 			break;
 
 		// Otherwise, we want to keep searching
@@ -311,7 +313,7 @@ Context::hit_check(const Point &pos)const
 {
 	Context context(*this);
 
-	while(!context->empty())
+	while(!context->empty() && context.in_z_range())
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
@@ -346,6 +348,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 #endif	// SYNFIG_PROFILE_LAYERS
 	
 	const Rect bbox(renddesc.get_rect());
+	const Matrix &transfromation_matrix(renddesc.get_transformation_matrix());
 	// this is going to be set to true if this layer contributes
 	// nothing, but it's a straight blend with non-zero amount, and so
 	// it has an effect anyway
@@ -358,7 +361,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 		// If we are not active then move on to next layer
 		if(!context.active())
 			continue;
-		const Rect layer_bounds((*context)->get_bounding_rect());
+		const Rect layer_bounds(Transformation::transform_bounds(transfromation_matrix, (*context)->get_bounding_rect()));
 		// Cast current layer to composite
 		composite = etl::handle<Layer_Composite>::cast_dynamic(*context);
 		// If the box area is less than zero or the boxes do not
diff --git a/src/synfig/context.h b/src/synfig/context.h
index f20c6c8..46b9d0f 100644
--- a/src/synfig/context.h
+++ b/src/synfig/context.h
@@ -88,9 +88,21 @@ class ContextParams {
 public:
 	//! When \c true layers with exclude_from_rendering flag should be rendered
 	bool render_excluded_contexts;
+	//! When \c true layers are visible only in Z_Depth range
+	bool z_range;
+	//! Defines the starting position to apply Z_Depth visibility
+	Real z_range_position;
+	//! Defines the depth of the range of the Z_Depth visibility
+	Real z_range_depth;
+	//! Layers with z_Depth inside transition are partially visibile
+	Real z_range_blur;
 
 	explicit ContextParams(bool render_excluded_contexts = false):
-	render_excluded_contexts(render_excluded_contexts) { }
+	render_excluded_contexts(render_excluded_contexts),
+	z_range(false),
+	z_range_position(0.0),
+	z_range_depth(0.0),
+	z_range_blur(0.0){ }
 };
 
 /*!	\class Context
@@ -158,17 +170,52 @@ public:
 		    || !layer.get_exclude_from_rendering());
 	}
 
+	//! Returns a value between 1.0 and 0.0 for layer visibility in z_depth range with this context_params
+	static inline float z_depth_visibility(const ContextParams &cp, const Layer &layer) {
+			if(!cp.z_range)
+				return 1.0;
+			float z=layer.get_true_z_depth();
+			float p=cp.z_range_position;
+			float d=cp.z_range_depth;
+			float t=cp.z_range_blur;
+			// Out of range
+			if(z>p+d+t || z<p-t)
+				return 0.0;
+			else
+			// Inside right range
+			if(z>p+d)
+				return t>0.0?(p+d+t-z)/t:0.0;
+			else
+			// Inside left range
+			if(z<p)
+				return t>0.0?(z-p+t)/t:0.0;
+			else
+			// Full visible
+				return 1.0;
+	}
+
 	//! Returns \c true if layer is active in this context
 	inline bool active(const Layer &layer) {
 		return active(params, layer);
 	}
 
+	//! Returns \c true if layers is visible in z_depth range in this context
+	inline float z_depth_visibility(const Layer &layer) {
+		return z_depth_visibility(params, layer);
+	}
+
 	//! Returns \c true if layer is active in this context
 	inline bool active()const {
 		return !(operator*()).empty()
 			 && active(params, *(operator*()));
 	}
 
+	//! Returns \c true if layer is visible in z_depth range in this context
+	inline bool in_z_range()const {
+		return !(operator*()).empty()
+			 && z_depth_visibility(params, *(operator*()));
+	}
+	
 }; // END of class Context
 
 }; // END of namespace synfig
diff --git a/src/synfig/curve_helper.cpp b/src/synfig/curve_helper.cpp
index d599620..ff8d0df 100644
--- a/src/synfig/curve_helper.cpp
+++ b/src/synfig/curve_helper.cpp
@@ -491,7 +491,7 @@ struct CIntersect::SCurve
 	float 	mag;			//approximate sum of magnitudes of each edge of control polygon
 	Rect	aabb;			//Axis Aligned Bounding Box for quick (albeit less accurate) collision
 
-	SCurve() {}
+	SCurve(): b(), rt(), st(), mag() {}
 
 	SCurve(const bezier<Point> &c,float rin, float sin)
 	:b(c),rt(rin),st(sin),mag(1)
diff --git a/src/synfig/curveset.cpp b/src/synfig/curveset.cpp
index be10d62..67ae174 100644
--- a/src/synfig/curveset.cpp
+++ b/src/synfig/curveset.cpp
@@ -86,11 +86,15 @@ struct ipoint
 
 	int 	go_in;	//going in = 1, coming out = -1
 
-	ipoint()
+	ipoint():
+		curveindex(),
+		vertindex(),
+		tvalue(),
+		go_in()
 	{
 		next = this;
 		prev = this;
-		neighbor = 0;
+		neighbor = NULL;
 	}
 
 	bool operator<(const ipoint &rhs) const
diff --git a/src/synfig/curveset.h b/src/synfig/curveset.h
index a34976a..0b6c6ab 100644
--- a/src/synfig/curveset.h
+++ b/src/synfig/curveset.h
@@ -65,13 +65,12 @@ public:
 	void SetClamp(int &i, int &si);
 
 	//actual stuff
-	CurveSet()
-	{
-	}
+	CurveSet(): invert() { }
 
 	//anything supporting iterator type operations
 	template < typename Iterator >
-	CurveSet(Iterator begin, Iterator end, bool invert = false)
+	CurveSet(Iterator begin, Iterator end, bool invert = false):
+		invert()
 	{
 		set.push_back(std::vector<CurvePoint>(begin,end));
 		CleanUp(invert);
diff --git a/src/synfig/distance.cpp b/src/synfig/distance.cpp
index f485c83..7dcaef9 100644
--- a/src/synfig/distance.cpp
+++ b/src/synfig/distance.cpp
@@ -113,8 +113,15 @@ synfig::String
 Distance::get_string(int digits)const
 {
 	digits=min(9,max(0,digits));
-	String fmt(strprintf("%%.%01df%%s",digits));
-	return strprintf(fmt.c_str(),value_,system_name(system_).c_str());
+	String fmt(strprintf("%%.%01df",digits));
+	String str(strprintf(fmt.c_str(),value_));
+	while (*str.rbegin() == '0' && str.length() > 1)
+		str=str.substr(0, str.size()-1);
+	if (*str.rbegin() == ',' or *str.rbegin() == '.')
+		str=str.substr(0, str.size()-1);
+	if (str.length()==0)
+		str='0';
+	return strprintf("%s%s",str.c_str(),system_name(system_).c_str());
 }
 
 void
diff --git a/src/synfig/distance.h b/src/synfig/distance.h
index 7e686f4..dcd5c67 100644
--- a/src/synfig/distance.h
+++ b/src/synfig/distance.h
@@ -69,7 +69,7 @@ private:
 
 public:
 
-	Distance(){ }
+	Distance(): value_(), system_() { }
 	Distance(const value_type& value, System system):value_(value),system_(system) { }
 	explicit Distance(const synfig::String& string);
 
diff --git a/src/synfig/filecontainer.cpp b/src/synfig/filecontainer.cpp
new file mode 100644
index 0000000..092b706
--- /dev/null
+++ b/src/synfig/filecontainer.cpp
@@ -0,0 +1,131 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainer.cpp
+**	\brief FileContainer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "filecontainer.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+// ReadStream
+
+FileContainer::ReadStream::ReadStream(Handle file_system):
+	FileSystem::ReadStream(file_system) { }
+
+FileContainer::ReadStream::~ReadStream()
+{
+	etl::handle< FileContainer > container ( etl::handle< FileContainer >::cast_static(file_system_) );
+	if (container->stream_valid_) container->file_close();
+	container->stream_opened_ = false;
+}
+
+size_t FileContainer::ReadStream::internal_read(void *buffer, size_t size)
+{
+	etl::handle< FileContainer > container ( etl::handle< FileContainer >::cast_static(file_system_) );
+	if (!container->stream_valid_) return 0;
+	return container->file_read(buffer, size);
+}
+
+
+// WriteStream
+
+FileContainer::WriteStream::WriteStream(Handle file_system):
+	FileSystem::WriteStream(file_system) { }
+
+FileContainer::WriteStream::~WriteStream()
+{
+	etl::handle< FileContainer > container ( etl::handle< FileContainer >::cast_static(file_system_) );
+	if (container->stream_valid_) container->file_close();
+	container->stream_opened_ = false;
+}
+
+size_t FileContainer::WriteStream::internal_write(const void *buffer, size_t size)
+{
+	etl::handle< FileContainer > container ( etl::handle< FileContainer >::cast_static(file_system_) );
+	if (!container->stream_valid_) return 0;
+	return container->file_write(buffer, size);
+}
+
+
+// FileContainer
+
+FileContainer::FileContainer(): stream_opened_(false), stream_valid_(false) { }
+
+FileContainer::~FileContainer() { }
+
+bool FileContainer::file_open_read_whole_container() { return false; }
+
+void FileContainer::file_close() { stream_valid_ = false; }
+
+FileSystem::ReadStreamHandle FileContainer::get_read_stream_whole_container()
+{
+	if (stream_opened_ || !file_open_read_whole_container())
+		return ReadStreamHandle();
+	stream_opened_ = true;
+	stream_valid_ = true;
+	return ReadStreamHandle(new ReadStream(this));
+}
+
+FileSystem::ReadStreamHandle FileContainer::get_read_stream(const std::string &filename)
+{
+	if (stream_opened_ || !file_open_read(filename))
+		return ReadStreamHandle();
+	stream_opened_ = true;
+	stream_valid_ = true;
+	return ReadStreamHandle(new ReadStream(this));
+}
+
+FileSystem::WriteStreamHandle FileContainer::get_write_stream(const std::string &filename)
+{
+	if (stream_opened_ || !file_open_write(filename))
+		return WriteStreamHandle();
+	stream_opened_ = true;
+	stream_valid_ = true;
+	return WriteStreamHandle(new WriteStream(this));
+}
+
+
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filecontainer.h b/src/synfig/filecontainer.h
new file mode 100644
index 0000000..16c212c
--- /dev/null
+++ b/src/synfig/filecontainer.h
@@ -0,0 +1,105 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainer.h
+**	\brief FileContainer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILECONTAINER_H
+#define __SYNFIG_FILECONTAINER_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <list>
+#include "filesystem.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileContainer : public FileSystem
+	{
+	public:
+		class ReadStream : public FileSystem::ReadStream
+		{
+		protected:
+			friend class FileContainer;
+			ReadStream(Handle file_system);
+			virtual size_t internal_read(void *buffer, size_t size);
+		public:
+			virtual ~ReadStream();
+		};
+
+		class WriteStream : public FileSystem::WriteStream
+		{
+		protected:
+			friend class FileContainer;
+			WriteStream(Handle file_system);
+			virtual size_t internal_write(const void *buffer, size_t size);
+		public:
+			virtual ~WriteStream();
+		};
+
+	protected:
+		bool stream_opened_;
+		bool stream_valid_;
+
+	public:
+		FileContainer();
+		virtual ~FileContainer();
+
+		virtual bool create(const std::string &container_filename) = 0;
+		virtual bool open(const std::string &container_filename) = 0;
+		virtual void close() = 0;
+		virtual bool is_opened() = 0;
+
+		virtual bool directory_scan(const std::string &dirname, std::list< std::string > &out_files) = 0;
+
+		virtual bool file_open_read_whole_container();
+		virtual bool file_open_read(const std::string &filename) = 0;
+		virtual bool file_open_write(const std::string &filename) = 0;
+		virtual void file_close();
+
+		virtual bool file_is_opened_for_read() = 0;
+		virtual bool file_is_opened_for_write() = 0;
+
+		virtual size_t file_read(void *buffer, size_t size) = 0;
+		virtual size_t file_write(const void *buffer, size_t size) = 0;
+
+		inline bool file_is_opened()
+		{
+			return file_is_opened_for_read() || file_is_opened_for_write();
+		}
+
+		ReadStreamHandle get_read_stream_whole_container();
+		virtual ReadStreamHandle get_read_stream(const std::string &filename);
+		virtual WriteStreamHandle get_write_stream(const std::string &filename);
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/filecontainertemporary.cpp b/src/synfig/filecontainertemporary.cpp
new file mode 100644
index 0000000..c156c6e
--- /dev/null
+++ b/src/synfig/filecontainertemporary.cpp
@@ -0,0 +1,622 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainertemporary.cpp
+**	\brief FileContainerTemporary
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include <cstring>
+#include <cstdlib>
+
+#include "filecontainertemporary.h"
+#include "general.h"
+#include "guid.h"
+#include "zstreambuf.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+void FileContainerTemporary::FileInfo::split_name()
+{
+	size_t posA = name.rfind('/');
+	size_t posB = name.rfind('\\');
+	size_t pos = posA == std::string::npos ? posB :
+				 posB == std::string::npos ? posA :
+				 posA > posB ? posA : posB;
+	if (pos == std::string::npos || pos == 0)
+	{
+		name_part_directory.clear();
+		name_part_localname = name;
+	}
+	else
+	{
+		name_part_directory = name.substr(0, pos);
+		name_part_localname = name.substr(pos + 1);
+	}
+}
+
+FileContainerTemporary::FileContainerTemporary():
+is_opened_(false),
+container_(new FileContainerZip()),
+file_system_(FileSystemNative::instance()),
+temporary_filename_base_(generate_temporary_filename_base())
+{ }
+
+FileContainerTemporary::~FileContainerTemporary() { close(); }
+
+std::string FileContainerTemporary::get_temporary_directory()
+{
+    const char *tmpdir;
+    if ((tmpdir = getenv("TEMP")) == NULL)
+    if ((tmpdir = getenv("TMP")) == NULL)
+    if ((tmpdir = getenv("TMPDIR")) == NULL)
+    	 tmpdir = "/tmp";
+    return std::string(tmpdir) + ETL_DIRECTORY_SEPARATOR;
+}
+
+std::string FileContainerTemporary::generate_temporary_filename_base()
+{
+    return "synfig_" + GUID().get_string();
+}
+
+std::string FileContainerTemporary::generate_temporary_filename()
+{
+    return get_temporary_directory() + generate_temporary_filename_base();
+}
+
+bool FileContainerTemporary::create(const std::string &container_filename)
+{
+	bool res
+		 = !is_opened()
+		&& (container_filename.empty() || container_->create(container_filename))
+		&& ((container_filename_ = fix_slashes(container_filename)).empty() || true)
+		&& (is_opened_ = true);
+	if (res && !container_filename_.empty() && !is_absolute_path(fix_slashes(container_filename_)))
+		container_filename_ = absolute_path(fix_slashes(container_filename_));
+	return res;
+}
+
+bool FileContainerTemporary::open(const std::string &container_filename)
+{
+	bool res
+	     = !is_opened()
+		&& container_->open(container_filename)
+		&& ((container_filename_ = fix_slashes(container_filename)).empty() || true)
+		&& (is_opened_ = true);
+	if (res && !container_filename_.empty() && !is_absolute_path(fix_slashes(container_filename_)))
+		container_filename_ = absolute_path(fix_slashes(container_filename_));
+	return res;
+}
+
+bool FileContainerTemporary::open_from_history(const std::string &container_filename, FileContainerZip::file_size_t truncate_storage_size)
+{
+	bool res
+	     = !is_opened()
+		&& container_->open_from_history(container_filename, truncate_storage_size)
+		&& ((container_filename_ = fix_slashes(container_filename)).empty() || true)
+		&& (is_opened_ = true);
+	if (res && !container_filename_.empty() && !is_absolute_path(fix_slashes(container_filename_)))
+		container_filename_ = absolute_path(fix_slashes(container_filename_));
+	return res;
+}
+
+
+void FileContainerTemporary::close()
+{
+	if (!is_opened()) return;
+	file_close();
+	discard_changes();
+	container_->close();
+	container_filename_.clear();
+	is_opened_ = false;
+}
+
+
+bool FileContainerTemporary::is_opened()
+{
+	return is_opened_;
+}
+
+bool FileContainerTemporary::is_file(const std::string &filename)
+{
+	if (!is_opened()) return false;
+	FileMap::const_iterator i = files_.find(fix_slashes(filename));
+	return i == files_.end()
+		 ? container_->is_file(filename)
+		 : !i->second.is_removed && !i->second.is_directory;
+}
+
+bool FileContainerTemporary::is_directory(const std::string &filename)
+{
+	if (!is_opened()) return false;
+	if (filename.empty()) return true;
+	FileMap::const_iterator i = files_.find(fix_slashes(filename));
+	return i == files_.end()
+		 ? container_->is_directory(filename)
+		 : !i->second.is_removed && i->second.is_directory;
+}
+
+bool FileContainerTemporary::directory_create(const std::string &dirname)
+{
+	if (!is_opened()) return false;
+	if (is_file(dirname)) return false;
+	if (is_directory(dirname)) return true;
+	if (!container_->directory_check_name(dirname)) return false;
+
+	FileInfo info;
+	info.name = fix_slashes(dirname);
+	info.split_name();
+	info.is_directory = true;
+	if (info.name_part_localname.empty()
+	 || !is_directory(info.name_part_directory)) return false;
+
+	files_[info.name] = info;
+	return true;
+}
+
+bool FileContainerTemporary::directory_scan(const std::string &dirname, std::list< std::string > &out_files)
+{
+	out_files.clear();
+	if (!is_directory(dirname)) return false;
+
+	container_->directory_scan(dirname, out_files);
+
+	for(FileMap::iterator i = files_.begin(); i != files_.end(); i++)
+	{
+		if (i->second.name_part_directory == fix_slashes(dirname))
+		{
+			if (i->second.is_removed)
+			{
+				for(std::list< std::string >::iterator j = out_files.begin(); j != out_files.end();)
+					if (*j == i->second.name_part_localname)
+						j = out_files.erase(j); else j++;
+			}
+			else
+			{
+				bool found = false;
+				for(std::list< std::string >::iterator j = out_files.begin(); j != out_files.end();)
+					if (*j == i->second.name_part_localname)
+						{ found = true; break; }
+				if (!found)
+					out_files.push_back(i->second.name_part_localname);
+			}
+		}
+	}
+
+	return true;
+}
+
+bool FileContainerTemporary::file_remove(const std::string &filename)
+{
+	// remove directory
+	if (is_directory(filename))
+	{
+		std::list< std::string > files;
+		directory_scan(filename, files);
+		if (!files.empty()) return false;
+
+		FileMap::iterator i = files_.find(fix_slashes(filename));
+		if (i == files_.end())
+		{
+			FileInfo &info = files_[fix_slashes(filename)];
+			info.name = fix_slashes(filename);
+			info.is_directory = true;
+			info.is_removed = true;
+			info.split_name();
+		}
+		else
+		{
+			FileInfo &info = files_[fix_slashes(filename)];
+			info.is_removed = true;
+		}
+	}
+	else
+	// remove file
+	if (is_file(filename))
+	{
+		if (file_is_opened() && file_ == fix_slashes(filename))
+			return false;
+
+		FileMap::iterator i = files_.find(fix_slashes(filename));
+		if (i == files_.end())
+		{
+			FileInfo &info = files_[fix_slashes(filename)];
+			info.name = fix_slashes(filename);
+			info.is_directory = false;
+			info.is_removed = true;
+			info.split_name();
+		}
+		else
+		{
+			FileInfo &info = files_[fix_slashes(filename)];
+			info.is_removed = true;
+			if (!info.tmp_filename.empty())
+			{
+				file_system_->file_remove(info.tmp_filename);
+				info.tmp_filename.clear();
+			}
+		}
+	}
+	return true;
+}
+
+bool FileContainerTemporary::file_open_read(const std::string &filename)
+{
+	if (!is_opened() || file_is_opened()) return false;
+	FileMap::const_iterator i = files_.find(fix_slashes(filename));
+
+	if (i == files_.end())
+		file_read_stream_ = container_->get_read_stream(filename);
+	else
+	if (!i->second.is_removed && !i->second.is_directory && !i->second.tmp_filename.empty())
+		file_read_stream_ = file_system_->get_read_stream(i->second.tmp_filename);
+
+	if (!file_read_stream_) return false;
+	file_ = fix_slashes(filename);
+	return true;
+}
+
+bool FileContainerTemporary::file_open_write(const std::string &filename)
+{
+	if (!is_opened() || file_is_opened()) return false;
+	if (!container_->file_check_name(filename)) return false;
+
+	FileMap::iterator i = files_.find(fix_slashes(filename));
+	std::string tmp_filename;
+
+	FileInfo new_info;
+	if (i == files_.end())
+	{
+		// create new file
+		new_info.name = fix_slashes(filename);
+		new_info.split_name();
+		if (new_info.name_part_localname.empty()
+		 || !is_directory(new_info.name_part_directory)) return false;
+		new_info.tmp_filename = generate_temporary_filename();
+		file_write_stream_ = file_system_->get_write_stream(new_info.tmp_filename);
+		if (file_write_stream_) files_[new_info.name] = new_info;
+	}
+	else
+	if (!i->second.is_removed && !i->second.is_directory)
+	{
+		tmp_filename = generate_temporary_filename();
+		file_write_stream_ = file_system_->get_write_stream(tmp_filename);
+	}
+
+	if (!file_write_stream_) return false;
+	file_ = fix_slashes(filename);
+	file_tmp_name_ = tmp_filename;
+	return true;
+}
+
+void FileContainerTemporary::file_close()
+{
+	if (file_write_stream_ && !file_tmp_name_.empty())
+	{
+		std::string prev_name = files_[file_].tmp_filename;
+		files_[file_].tmp_filename = file_tmp_name_;
+		file_tmp_name_.clear();
+		file_system_->file_remove(prev_name);
+	}
+
+	file_read_stream_.reset();
+	file_write_stream_.reset();
+
+	// call base-class method to invalidate streams
+	FileContainer::file_close();
+}
+
+bool FileContainerTemporary::file_is_opened_for_read()
+{
+	return is_opened() && file_read_stream_;
+}
+
+bool FileContainerTemporary::file_is_opened_for_write()
+{
+	return is_opened() && file_write_stream_;
+}
+
+size_t FileContainerTemporary::file_read(void *buffer, size_t size)
+{
+	if (!file_is_opened_for_read()) return 0;
+	return file_read_stream_->read_block(buffer, size);
+}
+
+size_t FileContainerTemporary::file_write(const void *buffer, size_t size)
+{
+	if (!file_is_opened_for_write()) return 0;
+	return file_write_stream_->write_block(buffer, size);
+}
+
+bool FileContainerTemporary::save_changes(const std::string &filename, bool as_copy)
+{
+	if (file_is_opened()) return false;
+
+	etl::handle< FileContainerZip > container;
+
+	std::string fname_abs = fix_slashes(filename);
+	if (!is_absolute_path(fname_abs)) fname_abs = absolute_path(fname_abs);
+
+	bool save_at_place = filename.empty() || fname_abs == container_filename_;
+ 	if (save_at_place) as_copy = false;
+
+
+	if (save_at_place)
+	{
+		if (!container_->is_opened()) return false;
+		container = container_;
+	}
+	else
+	{
+		if (container_->is_opened())
+		{
+			{ // copy container
+				ReadStreamHandle read_steram = container_->get_read_stream_whole_container();
+				if (read_steram.empty()) return false;
+				WriteStreamHandle write_stream = file_system_->get_write_stream(filename);
+				if (write_stream.empty()) return false;
+				if (!write_stream->write_whole_stream(read_steram)) return false;
+			}
+
+			// open container
+			container = new FileContainerZip();
+			if (!container->open(filename)) return false;
+		}
+		else
+		{
+			// create container
+			container = new FileContainerZip();
+			if (!container->create(filename)) return false;
+		}
+	}
+
+	FileMap files = files_;
+
+	// remove files
+	bool processed = true;
+	while(processed)
+	{
+		processed = false;
+		for(FileMap::iterator i = files.begin(); i != files.end(); i++)
+		{
+			if (i->second.is_removed && container->file_remove(i->second.name))
+			{
+				processed = true;
+				files.erase(i);
+				break;
+			}
+		}
+	}
+
+	// create directories
+	processed = true;
+	while(processed)
+	{
+		processed = false;
+		for(FileMap::iterator i = files.begin(); i != files.end(); i++)
+		{
+			if (!i->second.is_removed
+			 && i->second.is_directory
+			 && container->directory_create(i->second.name))
+			{
+				processed = true;
+				files.erase(i);
+				break;
+			}
+		}
+	}
+
+	// create files
+	for(FileMap::iterator i = files.begin(); i != files.end();)
+	{
+		if (!i->second.is_removed
+		 && !i->second.is_directory
+		 && !i->second.tmp_filename.empty()
+		 && copy(file_system_, i->second.tmp_filename, container, i->second.name))
+		{
+			file_system_->file_remove(i->second.tmp_filename);
+			processed = true;
+			files.erase(i++);
+		}
+		else i++;
+	}
+
+	// try to save container
+	if (container->save())
+	{
+		// update internal state
+		if (save_at_place)
+		{
+			files_ = files;
+		}
+		else
+		if (!as_copy && files.empty())
+		{
+			container_filename_ = fname_abs;
+			container_ = container;
+			files_ = files;
+		}
+		return files.empty();
+	}
+
+	return false;
+}
+
+void FileContainerTemporary::discard_changes()
+{
+	if (is_opened())
+	{
+		file_close();
+
+		// remove temporary files
+		for(FileMap::iterator i = files_.begin(); i != files_.end(); i++)
+		{
+			if (!i->second.is_removed
+			 && !i->second.is_directory
+			 && !i->second.tmp_filename.empty())
+			{
+				file_system_->file_remove(i->second.tmp_filename);
+			}
+		}
+
+		// update internal state
+		files_.clear();
+
+		file_system_->file_remove( get_temporary_directory() + get_temporary_filename_base() );
+		temporary_filename_base_ = generate_temporary_filename_base();
+	}
+}
+
+bool FileContainerTemporary::save_temporary() const
+{
+	xmlpp::Document document;
+	xmlpp::Element *root = document.create_root_node("temporary-container");
+	root->add_child("container-filename")->set_child_text(container_filename_);
+	xmlpp::Element *files = root->add_child("files");
+	for(FileMap::const_iterator i = files_.begin(); i != files_.end(); i++)
+	{
+		xmlpp::Element *entry = files->add_child("entry");
+		entry->add_child("name")->set_child_text(i->second.name);
+		entry->add_child("tmp-basename")->set_child_text(basename(i->second.tmp_filename));
+		entry->add_child("is-directory")->set_child_text(i->second.is_directory ? "true" : "false");
+		entry->add_child("is-removed")->set_child_text(i->second.is_removed ? "true" : "false");
+	}
+
+	FileSystem::WriteStreamHandle stream =
+		file_system_->get_write_stream(
+			get_temporary_directory()
+		  + get_temporary_filename_base());
+	if (!stream) return false;
+	stream = new ZWriteStream(stream);
+	try
+	{
+		document.write_to_stream_formatted(*stream, "UTF-8");
+	}
+	catch(...)
+	{
+		synfig::error("FileContainerTemporary::save_temporary(): Caught unknown exception");
+		return false;
+	}
+	stream.reset();
+
+	return true;
+}
+
+std::string FileContainerTemporary::get_xml_node_text(xmlpp::Node *node)
+{
+	std::string s;
+	if (node != NULL)
+	{
+		xmlpp::Element::NodeList list = node->get_children();
+		for(xmlpp::Element::NodeList::iterator i = list.begin(); i != list.end(); i++)
+			if (dynamic_cast<xmlpp::TextNode*>(*i))
+				s += dynamic_cast<xmlpp::TextNode*>(*i)->get_content();
+	}
+	return s;
+}
+
+bool FileContainerTemporary::open_temporary(const std::string &filename_base)
+{
+	if (is_opened()) return false;
+
+	FileSystem::ReadStreamHandle stream =
+		file_system_->get_read_stream(
+			get_temporary_directory()
+		  + filename_base);
+	if (!stream) return false;
+	stream = new ZReadStream(stream);
+
+	xmlpp::DomParser parser;
+	parser.parse_stream(*stream);
+	stream.reset();
+	if (!parser) return false;
+
+	xmlpp::Element *root = parser.get_document()->get_root_node();
+	if (root->get_name() != "temporary-container") return false;
+
+	xmlpp::Element::NodeList list = root->get_children();
+	for(xmlpp::Element::NodeList::iterator i = list.begin(); i != list.end(); i++)
+	{
+		if ((*i)->get_name() == "container-filename")
+			container_filename_ = get_xml_node_text(*i);
+		if ((*i)->get_name() == "files")
+		{
+			xmlpp::Element::NodeList files_list = (*i)->get_children();
+			for(xmlpp::Element::NodeList::iterator j = files_list.begin(); j != files_list.end(); j++)
+			{
+				if ((*j)->get_name() == "entry")
+				{
+					FileInfo info;
+					xmlpp::Element::NodeList fields_list = (*j)->get_children();
+					for(xmlpp::Element::NodeList::iterator k = fields_list.begin(); k != fields_list.end(); k++)
+					{
+						if ((*k)->get_name() == "name")
+							info.name = get_xml_node_text(*k);
+						if ((*k)->get_name() == "tmp-basename")
+							info.tmp_filename = get_xml_node_text(*k);
+						if ((*k)->get_name() == "is-directory")
+							info.is_directory = get_xml_node_text(*k) == "true";
+						if ((*k)->get_name() == "is-removed")
+							info.is_removed = get_xml_node_text(*k) == "true";
+					}
+					if (!info.tmp_filename.empty())
+						info.tmp_filename = get_temporary_directory() + info.tmp_filename;
+					info.split_name();
+					files_[info.name] = info;
+				}
+			}
+		}
+	}
+
+	if (!container_filename_.empty() && !container_->open(container_filename_))
+	{
+		container_filename_.clear();
+		files_.clear();
+		return false;
+	}
+
+	temporary_filename_base_ = filename_base;
+	is_opened_ = true;
+	return true;
+}
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filecontainertemporary.h b/src/synfig/filecontainertemporary.h
new file mode 100644
index 0000000..882594a
--- /dev/null
+++ b/src/synfig/filecontainertemporary.h
@@ -0,0 +1,127 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainertemporary.h
+**	\brief FileContainerTemporary
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILECONTAINERTEMPORARY_H
+#define __SYNFIG_FILECONTAINERTEMPORARY_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <map>
+#include <ctime>
+#include <libxml++/libxml++.h>
+
+#include "filesystemnative.h"
+#include "filecontainerzip.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileContainerTemporary: public FileContainer
+	{
+	private:
+		struct FileInfo
+		{
+			std::string name;
+			std::string tmp_filename;
+			bool is_directory;
+			bool is_removed;
+
+			std::string name_part_directory;
+			std::string name_part_localname;
+
+			void split_name();
+
+			inline FileInfo(): is_directory(false), is_removed(false) { }
+		};
+
+		typedef std::map< std::string, FileInfo > FileMap;
+
+		bool is_opened_;
+		FileMap files_;
+		std::string container_filename_;
+		etl::handle< FileContainerZip > container_;
+		etl::handle< FileSystemNative > file_system_;
+
+		std::string file_;
+		std::string file_tmp_name_;
+		FileSystem::ReadStreamHandle file_read_stream_;
+		FileSystem::WriteStreamHandle file_write_stream_;
+
+		std::string temporary_filename_base_;
+
+		static std::string get_xml_node_text(xmlpp::Node *node);
+
+	public:
+		FileContainerTemporary();
+		virtual ~FileContainerTemporary();
+
+		virtual bool create(const std::string &container_filename);
+		virtual bool open(const std::string &container_filename);
+		bool open_from_history(const std::string &container_filename, FileContainerZip::file_size_t truncate_storage_size = 0);
+		virtual void close();
+		virtual bool is_opened();
+
+		virtual bool is_file(const std::string &filename);
+		virtual bool is_directory(const std::string &filename);
+
+		virtual bool directory_create(const std::string &dirname);
+		virtual bool directory_scan(const std::string &dirname, std::list< std::string > &out_files);
+
+		virtual bool file_remove(const std::string &filename);
+
+		virtual bool file_open_read(const std::string &filename);
+		virtual bool file_open_write(const std::string &filename);
+		virtual void file_close();
+
+		virtual bool file_is_opened_for_read();
+		virtual bool file_is_opened_for_write();
+
+		virtual size_t file_read(void *buffer, size_t size);
+		virtual size_t file_write(const void *buffer, size_t size);
+
+		static std::string get_temporary_directory();
+		static std::string generate_temporary_filename_base();
+		static std::string generate_temporary_filename();
+
+		const std::string& get_container_filename() const { return container_filename_; }
+		const std::string& get_temporary_filename_base() const { return temporary_filename_base_; }
+
+		bool save_temporary() const;
+		bool open_temporary(const std::string &filename_base);
+
+		bool save_changes(const std::string &filename = std::string(), bool as_copy = false);
+		void discard_changes();
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/filecontainerzip.cpp b/src/synfig/filecontainerzip.cpp
new file mode 100644
index 0000000..14cc9d0
--- /dev/null
+++ b/src/synfig/filecontainerzip.cpp
@@ -0,0 +1,834 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainerzip.cpp
+**	\brief FileContainerZip
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include <cstring>
+#include <stdint.h>
+#include <cstddef>
+#include <ETL/stringf>
+#include <libxml++/libxml++.h>
+#include "filecontainerzip.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+namespace synfig
+{
+	namespace FileContainerZip_InternalStructs
+	{
+
+		#pragma pack(push, 1)
+
+		struct DOSTimestamp
+		{
+			uint16_t dos_time;
+			uint16_t dos_date;
+
+			inline DOSTimestamp():
+				dos_time(0), dos_date(0) { }
+
+			inline explicit DOSTimestamp(uint16_t dos_time, uint16_t dos_date):
+				dos_time(dos_time), dos_date(dos_date) { }
+
+			inline explicit DOSTimestamp(time_t time)
+			{
+				tm *t = localtime(&time);
+				dos_time = ((t->tm_sec  & 0x3f) >>  1)
+						 | ((t->tm_min  & 0x3f) <<  5)
+						 | ((t->tm_hour & 0x1f) << 11);
+				dos_date = ((t->tm_mday & 0x1f) <<  0)
+						 | ((t->tm_mon  & 0x0f) <<  5)
+						 | ((t->tm_year & 0x7f) <<  9);
+			}
+
+			inline time_t get_time()
+			{
+				tm t;
+				memset(&t, 0, sizeof(t));
+				t.tm_sec  = (dos_time <<  1) & 0x3f;
+				t.tm_min  = (dos_time >>  5) & 0x3f;
+				t.tm_hour = (dos_time >> 11) & 0x1f;
+				t.tm_mday = (dos_time >>  0) & 0x1f;
+				t.tm_mon  = (dos_time >>  5) & 0x0f;
+				t.tm_year = (dos_time >>  9) & 0x7f;
+				return mktime(&t);
+			}
+		};
+
+		struct LocalFileHeader
+		{
+			enum { valid_signature__ = 0x04034b50 };
+
+			uint32_t signature;			//!< Local file header signature = 0x04034b50 (read as a little-endian number)
+			uint16_t version;			//!< Version needed to extract (minimum)
+			uint16_t flags;				//!< General purpose bit flag
+			uint16_t compression;		//!< Compression method
+			uint16_t modification_time;	//!< File last modification time
+			uint16_t modification_date; //!< File last modification date
+			uint32_t crc32;				//!< CRC-32
+			uint32_t compressed_size;	//!< Compressed size
+			uint32_t uncompressed_size;	//!< Uncompressed size
+			uint16_t filename_length;	//!< File name length (n)
+			uint16_t extrafield_length; //!< Extra field length (m)
+			// next:
+			//   filename - n bytes
+			//   extrafield - m bytes
+			//   file data
+			//   optional LocalFileDataDescriptor (if bit 3 (0x08) set in flags)
+
+			inline LocalFileHeader()
+			{
+				memset(this, 0, sizeof(*this));
+				signature = valid_signature__;
+			}
+		};
+
+		struct LocalFileHeaderOverwrite
+		{
+			uint32_t crc32;				//!< CRC-32
+			uint32_t compressed_size;	//!< Compressed size
+			uint32_t uncompressed_size;	//!< Uncompressed size
+
+			inline LocalFileHeaderOverwrite()
+			{
+				memset(this, 0, sizeof(*this));
+			}
+
+			inline static size_t offset_from_header()
+			{
+				const static LocalFileHeader dummy;
+				return (size_t)((const char *)&dummy.crc32 - (const char *)&dummy);
+			}
+		};
+
+		struct CentralDirectoryFileHeader
+		{
+			enum { valid_signature__ = 0x02014b50 };
+
+			uint32_t signature;			//!< Central directory file header signature = 0x02014b50
+			uint16_t version;			//!< Version made by
+			uint16_t min_version;		//!< Version needed to extract (minimum)
+			uint16_t flags;				//!< General purpose bit flag
+			uint16_t compression;		//!< Compression method
+			uint16_t modification_time;	//!< File last modification time
+			uint16_t modification_date; //!< File last modification date
+			uint32_t crc32;				//!< CRC-32
+			uint32_t compressed_size;	//!< Compressed size
+			uint32_t uncompressed_size;	//!< Uncompressed size
+			uint16_t filename_length;	//!< File name length (n)
+			uint16_t extrafield_length;	//!< Extra field length (m)
+			uint16_t filecomment_length;//!< File comment length (k)
+			uint16_t disk_number;		//!< Disk number where file starts
+			uint16_t internal_attrs;	//!< Internal file attributes
+			uint32_t external_attrs;	//!< External file attributes
+			uint32_t offset;			//!< Relative offset of local file header.
+										//!< This is the number of bytes between the
+										//!< start of the first disk on which the
+										//!< file occurs, and the start of the local
+										//!< file header. This allows software reading
+										//!< the central directory to locate the
+										//!< position of the file inside the .ZIP file.
+			// next:
+			//   filename - n bytes
+			//   extrafield - m bytes
+			//   filecomment - k bytes
+			//   next CentralDirectorySignature
+
+			inline CentralDirectoryFileHeader()
+			{
+				memset(this, 0, sizeof(*this));
+				signature = valid_signature__;
+			}
+		};
+
+		struct EndOfCentralDirectory
+		{
+			enum { valid_signature__ = 0x06054b50 };
+
+			uint32_t signature;			//!< End of central directory signature = 0x06054b50
+			uint16_t current_disk;		//!< Number of this disk
+			uint16_t first_disk;		//!< Disk where central directory starts
+			uint16_t current_records;	//!< Number of central directory records on this disk
+			uint16_t total_records;		//!< Total number of central directory records
+			uint32_t size;				//!< Size of central directory (bytes)
+			uint32_t offset;			//!< Offset of start of central directory, relative to start of archive
+			uint16_t comment_length;	//!< Comment length (n)
+			// next:
+			//   comment - n bytes
+			//   end of file
+
+			inline EndOfCentralDirectory()
+			{
+				memset(this, 0, sizeof(*this));
+				signature = valid_signature__;
+			}
+		};
+
+		#pragma pack(pop)
+	}
+}
+
+using namespace synfig::FileContainerZip_InternalStructs;
+
+void FileContainerZip::FileInfo::split_name()
+{
+	size_t pos = name.rfind('/');
+	if (pos == std::string::npos || pos == 0)
+	{
+		name_part_directory.clear();
+		name_part_localname = name;
+	}
+	else
+	{
+		name_part_directory = name.substr(0, pos);
+		name_part_localname = name.substr(pos + 1);
+	}
+}
+
+FileContainerZip::FileContainerZip():
+storage_file_(NULL),
+prev_storage_size_(0),
+file_reading_whole_container_(false),
+file_reading_(false),
+file_writing_(false),
+file_processed_size_(0),
+changed_(false)
+{ }
+
+FileContainerZip::~FileContainerZip() { close(); }
+
+unsigned int FileContainerZip::crc32(unsigned int previous_crc, const void *buffer, size_t size)
+{
+	static const unsigned int table[] = {
+	    0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
+	    0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
+	    0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
+	    0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
+	    0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
+	    0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
+	    0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
+	    0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
+	    0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
+	    0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
+	    0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
+	    0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
+	    0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
+	    0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
+	    0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
+	    0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
+	    0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
+	    0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
+	    0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
+	    0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
+	    0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
+	    0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
+	    0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
+	    0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
+	    0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
+	    0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
+	    0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
+	    0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
+	    0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
+	    0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
+	    0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
+	    0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D
+	};
+
+	unsigned int crc = previous_crc ^ 0xFFFFFFFFUL;
+	unsigned char *char_buf = (unsigned char *)buffer;
+	size_t remain = size;
+	while (remain--)
+		crc = table[(crc ^ *char_buf++) & 0xFF] ^ (crc >> 8);
+	return crc ^ 0xFFFFFFFFUL;
+}
+
+std::string FileContainerZip::encode_history(const FileContainerZip::HistoryRecord &history_record)
+{
+	xmlpp::Document document;
+	document.
+		create_root_node("history")->
+		add_child("prev_storage_size")->
+		set_child_text(strprintf("%lld", history_record.prev_storage_size));
+	return document.write_to_string_formatted();
+}
+
+FileContainerZip::HistoryRecord FileContainerZip::decode_history(const std::string &comment)
+{
+	HistoryRecord history_record;
+	xmlpp::DomParser parser;
+	parser.parse_memory(comment);
+	if(parser)
+	{
+		xmlpp::Element *root = parser.get_document()->get_root_node();
+		if (root->get_name() == "history")
+		{
+			xmlpp::Element::NodeList list = root->get_children();
+			for(xmlpp::Element::NodeList::iterator i = list.begin(); i != list.end(); i++)
+			{
+				if ((*i)->get_name() == "prev_storage_size")
+				{
+					std::string s;
+					xmlpp::Element::NodeList list = (*i)->get_children();
+					for(xmlpp::Element::NodeList::iterator j = list.begin(); j != list.end(); j++)
+						if (dynamic_cast<xmlpp::TextNode*>(*j))
+							s += dynamic_cast<xmlpp::TextNode*>(*j)->get_content();
+					history_record.prev_storage_size = strtoll(s.c_str(), NULL, 10);
+					if (history_record.prev_storage_size < 0)
+						history_record.prev_storage_size = 0;
+				}
+			}
+		}
+	}
+	return history_record;
+}
+
+void FileContainerZip::read_history(std::list<HistoryRecord> &list, FILE *f, file_size_t size)
+{
+	if (size < (long int)sizeof(EndOfCentralDirectory))
+		return;
+
+	// search "end of central directory" record
+
+	char buffer[(1 << 16) + sizeof(EndOfCentralDirectory)];
+	std::string comment;
+	size_t read_size = size > (long int)sizeof(buffer)
+					 ? sizeof(buffer) : (size_t)size;
+	fseek(f, (long int)size - (long int)read_size, SEEK_SET);
+	read_size = fread(&buffer, 1, read_size, f);
+	bool found = false;
+	HistoryRecord history_record;
+
+	for(int i = read_size - sizeof(EndOfCentralDirectory); i >= 0; i--)
+	{
+		EndOfCentralDirectory *e = (EndOfCentralDirectory*)&buffer[i];
+		if (e->signature == EndOfCentralDirectory::valid_signature__
+		 && e->comment_length == (uint16_t)(read_size - sizeof(EndOfCentralDirectory) - i))
+		{
+			// found
+			if (e->comment_length > 0)
+			{
+				comment = std::string(buffer + i + sizeof(EndOfCentralDirectory), e->comment_length);
+				history_record = decode_history(comment);
+				history_record.storage_size = size;
+				found = true;
+			}
+			break;
+		}
+	}
+
+	if (found)
+	{
+		list.front() = history_record;
+		if (history_record.prev_storage_size > 0 && history_record.prev_storage_size < size) {
+			list.push_front(HistoryRecord(0, history_record.prev_storage_size));
+			read_history(list, f, history_record.prev_storage_size);
+		}
+	}
+}
+
+std::list<FileContainerZip::HistoryRecord> FileContainerZip::read_history(const std::string &container_filename)
+{
+	std::list<HistoryRecord> list;
+
+	FILE *f = fopen(container_filename.c_str(), "rb");
+	if (f == NULL) return list;
+
+	fseek(f, 0, SEEK_END);
+	long int size = ftell(f);
+	if (size >= (long int)sizeof(EndOfCentralDirectory))
+	{
+		list.push_front(HistoryRecord(0, size));
+		read_history(list, f, size);
+	}
+
+	fclose(f);
+	return list;
+}
+
+bool FileContainerZip::create(const std::string &container_filename)
+{
+	if (is_opened()) return false;
+	storage_file_ = fopen(fix_slashes(container_filename).c_str(), "w+b");
+	if (is_opened()) changed_ = true;
+	return is_opened();
+}
+
+bool FileContainerZip::open_from_history(const std::string &container_filename, file_size_t truncate_storage_size) {
+	if (is_opened()) return false;
+	FILE *f = fopen(fix_slashes(container_filename).c_str(), "r+b");
+	if (f == NULL) return false;
+
+	// check size of file
+	fseek(f, 0, SEEK_END);
+	long int filesize = ftell(f);
+	long int actual_filesize = filesize;
+	if (filesize < (long int)sizeof(EndOfCentralDirectory))
+		{ fclose(f); return false; }
+
+	if (truncate_storage_size > 0 && truncate_storage_size < filesize)
+		filesize = (long int)truncate_storage_size;
+
+	char buffer[(1 << 16) + sizeof(EndOfCentralDirectory)];
+
+	// search "end of central directory" record
+	EndOfCentralDirectory ecd;
+	size_t read_size = filesize > (long int)sizeof(buffer)
+					 ? sizeof(buffer) : (size_t)filesize;
+	fseek(f, filesize - (long int)read_size, SEEK_SET);
+	read_size = fread(&buffer, 1, read_size, f);
+	bool found = false;
+	for(int i = read_size - sizeof(EndOfCentralDirectory); i >= 0; i--)
+	{
+		EndOfCentralDirectory *e = (EndOfCentralDirectory*)&buffer[i];
+		if (e->signature == EndOfCentralDirectory::valid_signature__
+		 && e->comment_length == (uint16_t)(read_size - sizeof(EndOfCentralDirectory) - i))
+		{
+			ecd = *e;
+			found = true;
+			break;
+		}
+	}
+	if (!found)
+		{ fclose(f); return false; }
+
+	// read "central directory"
+	FileMap files;
+	fseek(f, ecd.offset, SEEK_SET);
+	for(int i = 0; i < ecd.current_records; i++)
+	{
+		CentralDirectoryFileHeader cdfh;
+		if (sizeof(cdfh) != fread(&cdfh, 1, sizeof(cdfh), f))
+			{ fclose(f); return false; }
+
+		// read name, comment and extrafield
+		size_t extra_size = cdfh.filename_length
+		                  + cdfh.filecomment_length
+		                  + cdfh.extrafield_length;
+		if (extra_size != fread(buffer, 1, extra_size, f))
+			{ fclose(f); return false; }
+
+		if (cdfh.filename_length > 0
+		 && (cdfh.flags & 0x0071) == 0
+		 && cdfh.compression == 0)
+		{
+			FileInfo info;
+			if (buffer[cdfh.filename_length - 1] == '/')
+			{
+				info.name = std::string(buffer, buffer + cdfh.filename_length - 1);
+				info.is_directory = true;
+			}
+			else
+			{
+				info.name = std::string(buffer, buffer + cdfh.filename_length);
+			}
+
+			info.directory_saved = info.is_directory;
+			info.size = cdfh.compressed_size;
+			info.header_offset = cdfh.offset;
+			info.crc32 = cdfh.crc32;
+			info.time = DOSTimestamp(cdfh.modification_time, cdfh.modification_date).get_time();
+			info.split_name();
+			files[info.name] = info;
+		}
+	}
+
+	// create directories
+	for(FileMap::iterator i = files.begin(); i != files.end();)
+	{
+		if (!i->second.name_part_directory.empty()
+		 && files.find( i->second.name_part_directory ) == files.end())
+		{
+			FileInfo info;
+			info.name = i->second.name_part_directory;
+			info.is_directory = true;
+			info.time = time(NULL);
+			info.split_name();
+			files[ info.name ] = info;
+			i = files.begin();
+		}
+		else i++;
+	}
+
+	// loaded
+	fseek(f, 0, SEEK_END);
+	storage_file_ = f;
+	files_.swap( files );
+	prev_storage_size_ = actual_filesize;
+	file_reading_ = false;
+	file_writing_ = false;
+	changed_ = false;
+	return true;
+}
+
+bool FileContainerZip::open(const std::string &container_filename)
+{
+	return open_from_history(container_filename);
+}
+
+bool FileContainerZip::save()
+{
+	if (file_is_opened()) return false;
+	if (!changed_) return true;
+
+	fseek(storage_file_, 0, SEEK_END);
+
+	// write headers of new directories
+	for(FileMap::iterator i = files_.begin(); i != files_.end(); i++)
+	{
+		FileInfo &info = i->second;
+		if (info.is_directory && !info.directory_saved)
+		{
+			LocalFileHeader lfh;
+			lfh.version = 20;
+			lfh.filename_length = info.name.size() + 1;
+			DOSTimestamp dos_timestamp(info.time);
+			lfh.modification_time = dos_timestamp.dos_time;
+			lfh.modification_date = dos_timestamp.dos_date;
+
+			info.header_offset = ftell(storage_file_);
+			if (sizeof(lfh) != fwrite(&lfh, 1, sizeof(lfh), storage_file_))
+				return false;
+			if (info.name.size() != fwrite(info.name.c_str(), 1, info.name.size(), storage_file_))
+				return false;
+			if ((int)'/' != fputc('/', storage_file_))
+				return false;
+
+			info.directory_saved = true;
+		}
+	}
+
+	// write central directory
+	uint32_t central_directory_offset = (uint32_t)ftell(storage_file_);
+	for(FileMap::iterator i = files_.begin(); i != files_.end(); i++)
+	{
+		FileInfo &info = i->second;
+		CentralDirectoryFileHeader cdfh;
+		cdfh.min_version = 20;
+		cdfh.offset = info.header_offset;
+		cdfh.compressed_size = cdfh.uncompressed_size = info.size;
+		cdfh.crc32 = info.crc32;
+		cdfh.filename_length = (uint16_t)info.name.size();
+		if (info.is_directory)
+			cdfh.filename_length++;
+		DOSTimestamp dos_timestamp(info.time);
+		cdfh.modification_time = dos_timestamp.dos_time;
+		cdfh.modification_date = dos_timestamp.dos_date;
+
+		// write header
+		if (sizeof(cdfh) != fwrite(&cdfh, 1, sizeof(cdfh), storage_file_))
+			return false;
+
+		// write name
+		if (info.name.size() != fwrite(info.name.c_str(), 1, info.name.size(), storage_file_))
+			return false;
+		if (info.is_directory)
+			if ((int)'/' != fputc('/', storage_file_))
+				return false;
+	}
+
+	// end of central directory
+	EndOfCentralDirectory ecd;
+	ecd.offset = central_directory_offset;
+	ecd.current_records = ecd.total_records = files_.size();
+	ecd.size = ftell(storage_file_) - central_directory_offset;
+	std::string comment = encode_history(HistoryRecord(prev_storage_size_));
+	ecd.comment_length = comment.size();
+
+	// write header
+	if (sizeof(ecd) != fwrite(&ecd, 1, sizeof(ecd), storage_file_))
+		return false;
+
+	// write comment
+	if (ecd.comment_length > 0
+	 && ecd.comment_length != fwrite(comment.c_str(), 1, ecd.comment_length, storage_file_))
+	{
+		return false;
+	}
+
+	prev_storage_size_ = ftell(storage_file_);
+	fflush(storage_file_);
+	changed_ = false;
+	return true;
+}
+
+void FileContainerZip::close()
+{
+	if (!is_opened()) return;
+
+	// close opened file if need
+	file_close();
+
+	save();
+
+	// close storage file and clead variables
+	fclose(storage_file_);
+	storage_file_ = NULL;
+	files_.clear();
+	prev_storage_size_ = 0;
+	file_reading_ = false;
+	file_writing_ = false;
+	changed_ = false;
+}
+
+bool FileContainerZip::is_opened()
+{
+	return storage_file_ != NULL;
+}
+
+bool FileContainerZip::is_file(const std::string &filename)
+{
+	if (!is_opened()) return false;
+	FileMap::const_iterator i = files_.find(fix_slashes(filename));
+	return i != files_.end() && !i->second.is_directory;
+}
+
+bool FileContainerZip::is_directory(const std::string &filename)
+{
+	if (!is_opened()) return false;
+	if (filename.empty()) return true;
+	FileMap::const_iterator i = files_.find(fix_slashes(filename));
+	return i != files_.end() && i->second.is_directory;
+}
+
+bool FileContainerZip::directory_check_name(const std::string &dirname)
+{
+	return dirname.size() <= (1 << 16) - 2 - sizeof(CentralDirectoryFileHeader);
+}
+
+bool FileContainerZip::directory_create(const std::string &dirname)
+{
+	if (!is_opened()) return false;
+	if (is_file(dirname)) return false;
+	if (is_directory(dirname)) return true;
+	if (!directory_check_name(dirname)) return false;
+
+	FileInfo info;
+	info.name = fix_slashes(dirname);
+	info.split_name();
+	info.is_directory = true;
+	info.time = time(NULL);
+	if (info.name_part_localname.empty()
+	 || !is_directory(info.name_part_directory)) return false;
+
+	changed_ = true;
+	files_[info.name] = info;
+	return true;
+}
+
+bool FileContainerZip::directory_scan(const std::string &dirname, std::list< std::string > &out_files)
+{
+	out_files.clear();
+	if (!is_directory(dirname)) return false;
+	for(FileMap::iterator i = files_.begin(); i != files_.end(); i++)
+		if (i->second.name_part_directory == fix_slashes(dirname))
+			out_files.push_back(i->second.name_part_localname);
+	return true;
+}
+
+bool FileContainerZip::file_remove(const std::string &filename)
+{
+	if (is_directory(filename))
+	{
+		std::list< std::string > files;
+		directory_scan(filename, files);
+		if (!files.empty()) return false;
+		changed_ = true;
+		files_.erase(fix_slashes(filename));
+	}
+	else
+	if (is_file(filename))
+	{
+		if (file_is_opened() && file_->first == fix_slashes(filename))
+			return false;
+		changed_ = true;
+		files_.erase(fix_slashes(filename));
+	}
+	return true;
+}
+
+bool FileContainerZip::file_check_name(const std::string &filename)
+{
+	return filename.size() <= (1 << 16) - 1 - sizeof(CentralDirectoryFileHeader);
+}
+
+bool FileContainerZip::file_open_read_whole_container()
+{
+	if (!is_opened() || file_is_opened()) return false;
+	fseek(storage_file_, 0, SEEK_SET);
+	file_reading_whole_container_ = true;
+	file_processed_size_ = 0;
+	return true;
+}
+
+bool FileContainerZip::file_open_read(const std::string &filename)
+{
+	if (!is_opened() || file_is_opened()) return false;
+	file_ = files_.find(fix_slashes(filename));
+	if (file_ == files_.end() || file_->second.is_directory)
+		return false;
+
+	// read header
+	LocalFileHeader lfh;
+	fseek(storage_file_, file_->second.header_offset, SEEK_SET);
+	if (sizeof(lfh) != fread(&lfh, 1, sizeof(lfh), storage_file_))
+		return false;
+	if (lfh.signature != LocalFileHeader::valid_signature__)
+		return false;
+
+	// seek to file begin
+	fseek(storage_file_, lfh.filename_length + lfh.extrafield_length, SEEK_CUR);
+	file_reading_ = true;
+	file_processed_size_ = 0;
+	return true;
+}
+
+bool FileContainerZip::file_open_write(const std::string &filename)
+{
+	if (!is_opened() || file_is_opened()) return false;
+	if (!file_check_name(filename)) return false;
+
+	file_ = files_.find(fix_slashes(filename));
+
+	FileInfo new_info;
+	if (file_ == files_.end())
+	{
+		// create new file
+		new_info.name = fix_slashes(filename);
+		new_info.split_name();
+		if (new_info.name_part_localname.empty()
+		 || !is_directory(new_info.name_part_directory)) return false;
+	}
+	else
+	if (file_->second.is_directory)
+		return false;
+
+	FileInfo &info = file_ == files_.end() ? new_info : file_->second;
+
+	// write header
+	LocalFileHeader lfh;
+	time_t t = time(NULL);
+	lfh.version = 20;
+	lfh.filename_length = info.name.size();
+	DOSTimestamp dos_timestamp(t);
+	lfh.modification_time = dos_timestamp.dos_time;
+	lfh.modification_date = dos_timestamp.dos_date;
+
+	fseek(storage_file_, 0, SEEK_END);
+	long int offset = ftell(storage_file_);
+	changed_ = true;
+	if (sizeof(lfh) != fwrite(&lfh, 1, sizeof(lfh), storage_file_))
+		return false;
+	if (info.name.size() != fwrite(info.name.c_str(), 1, info.name.size(), storage_file_))
+		return false;
+
+	// update file info
+	info.header_offset = offset;
+	info.size = 0;
+	info.crc32 = 0;
+	info.time = t;
+	if (file_ == files_.end())
+	{
+		files_[new_info.name] = new_info;
+		file_ = files_.find(fix_slashes(filename));
+	}
+	file_writing_ = true;
+	file_processed_size_ = 0;
+	return true;
+}
+
+void FileContainerZip::file_close()
+{
+	if (file_is_opened_for_write())
+	{
+		LocalFileHeaderOverwrite lfho;
+		lfho.crc32 = file_->second.crc32;
+		lfho.compressed_size = lfho.uncompressed_size = file_->second.size;
+		fseek(storage_file_, file_->second.header_offset + LocalFileHeaderOverwrite::offset_from_header(), SEEK_SET);
+		fwrite(&lfho, 1, sizeof(lfho), storage_file_);
+		file_writing_ = false;
+		fflush(storage_file_);
+	}
+	file_reading_whole_container_ = false;
+	file_reading_ = false;
+	file_writing_ = false;
+	file_processed_size_ = 0;
+
+	// call base-class method to invalidate streams
+	FileContainer::file_close();
+}
+
+bool FileContainerZip::file_is_opened_for_read()
+{
+	return is_opened() && (file_reading_ || file_reading_whole_container_);
+}
+
+bool FileContainerZip::file_is_opened_for_write()
+{
+	return is_opened() && file_writing_;
+}
+
+size_t FileContainerZip::file_read(void *buffer, size_t size)
+{
+	if (!file_is_opened_for_read()) return 0;
+	file_size_t file_size = file_reading_whole_container_
+	                      ? prev_storage_size_ : file_->second.size;
+	file_size_t remain_size = file_size - file_processed_size_;
+	size_t s = remain_size > (file_size_t)size ? size : (size_t)remain_size;
+	s = fread(buffer, 1, s, storage_file_);
+	file_processed_size_ += s;
+	return s;
+}
+
+size_t FileContainerZip::file_write(const void *buffer, size_t size)
+{
+	if (!file_is_opened_for_write()) return 0;
+	size_t s = fwrite(buffer, 1, size, storage_file_);
+	file_processed_size_ += s;
+	file_->second.size = file_processed_size_;
+	file_->second.crc32 = crc32(file_->second.crc32, buffer, s);
+	return s;
+}
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filecontainerzip.h b/src/synfig/filecontainerzip.h
new file mode 100644
index 0000000..b62db95
--- /dev/null
+++ b/src/synfig/filecontainerzip.h
@@ -0,0 +1,142 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filecontainerzip.h
+**	\brief FileContainerZip
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILECONTAINERZIP_H
+#define __SYNFIG_FILECONTAINERZIP_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <map>
+#include <ctime>
+#include "filecontainer.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileContainerZip: public FileContainer
+	{
+	public:
+		class WholeZipReadStream : public FileSystem::ReadStream
+		{
+		protected:
+			friend class FileContainerZip;
+			WholeZipReadStream(Handle file_system);
+		public:
+			virtual ~WholeZipReadStream();
+			virtual size_t read(void *buffer, size_t size);
+		};
+
+		typedef long long int file_size_t;
+
+		struct HistoryRecord {
+			file_size_t prev_storage_size;
+			file_size_t storage_size;
+			inline explicit HistoryRecord(file_size_t prev_storage_size = 0, file_size_t storage_size = 0):
+				prev_storage_size(prev_storage_size), storage_size(storage_size) { }
+		};
+
+	private:
+		struct FileInfo
+		{
+			std::string name;
+			bool is_directory;
+			bool directory_saved;
+			file_size_t size;
+			file_size_t header_offset;
+			unsigned int crc32;
+			time_t time;
+
+			std::string name_part_directory;
+			std::string name_part_localname;
+
+			void split_name();
+
+			inline FileInfo():
+				is_directory(false), directory_saved(false),
+				size(0), header_offset(0), crc32(0), time(0) { }
+		};
+
+		typedef std::map< std::string, FileInfo > FileMap;
+
+		FILE *storage_file_;
+		FileMap files_;
+		file_size_t prev_storage_size_;
+		bool file_reading_whole_container_;
+		bool file_reading_;
+		bool file_writing_;
+		FileMap::iterator file_;
+		file_size_t file_processed_size_;
+		bool changed_;
+
+		static unsigned int crc32(unsigned int previous_crc, const void *buffer, size_t size);
+		static std::string encode_history(const HistoryRecord &history_record);
+		static HistoryRecord decode_history(const std::string &comment);
+		static void read_history(std::list<HistoryRecord> &list, FILE *f, file_size_t size);
+
+	public:
+		FileContainerZip();
+		virtual ~FileContainerZip();
+
+		virtual bool create(const std::string &container_filename);
+		virtual bool open(const std::string &container_filename);
+		bool open_from_history(const std::string &container_filename, file_size_t truncate_storage_size = 0);
+		virtual void close();
+		virtual bool is_opened();
+		bool save();
+
+		static std::list<HistoryRecord> read_history(const std::string &container_filename);
+
+		virtual bool is_file(const std::string &filename);
+		virtual bool is_directory(const std::string &filename);
+
+		bool directory_check_name(const std::string &dirname);
+		virtual bool directory_create(const std::string &dirname);
+		virtual bool directory_scan(const std::string &dirname, std::list< std::string > &out_files);
+
+		virtual bool file_remove(const std::string &filename);
+
+		bool file_check_name(const std::string &filename);
+		virtual bool file_open_read_whole_container();
+		virtual bool file_open_read(const std::string &filename);
+		virtual bool file_open_write(const std::string &filename);
+		virtual void file_close();
+
+		virtual bool file_is_opened_for_read();
+		virtual bool file_is_opened_for_write();
+
+		virtual size_t file_read(void *buffer, size_t size);
+		virtual size_t file_write(const void *buffer, size_t size);
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/filesystem.cpp b/src/synfig/filesystem.cpp
new file mode 100644
index 0000000..2686018
--- /dev/null
+++ b/src/synfig/filesystem.cpp
@@ -0,0 +1,161 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystem.cpp
+**	\brief FileSystem
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "filesystem.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+
+// Stream
+
+FileSystem::Stream::Stream(Handle file_system): file_system_(file_system) { }
+FileSystem::Stream::~Stream() { }
+
+// ReadStream
+
+FileSystem::ReadStream::ReadStream(Handle file_system):
+Stream(file_system),
+std::istream((std::streambuf*)this)
+{
+	setg(&buffer_ + 1, &buffer_ + 1, &buffer_ + 1);
+}
+
+int FileSystem::ReadStream::underflow()
+{
+	if (gptr() < egptr()) return std::streambuf::traits_type::to_int_type(*gptr());
+	if (sizeof(buffer_) != internal_read(&buffer_, sizeof(buffer_))) return EOF;
+	setg(&buffer_, &buffer_, &buffer_ + 1);
+	return std::streambuf::traits_type::to_int_type(*gptr());
+}
+
+// WriteStream
+
+FileSystem::WriteStream::WriteStream(Handle file_system):
+Stream(file_system),
+std::ostream((std::streambuf*)this)
+{ }
+
+int
+FileSystem::WriteStream::overflow(int character)
+{
+	char c = std::streambuf::traits_type::to_char_type(character);
+	return character != EOF && sizeof(c) == internal_write(&c, sizeof(c)) ? character : EOF;
+}
+
+// Identifier
+
+FileSystem::ReadStreamHandle FileSystem::Identifier::get_read_stream() const
+	{ return file_system ? file_system->get_read_stream(filename) : ReadStreamHandle(); }
+FileSystem::WriteStreamHandle FileSystem::Identifier::get_write_stream() const
+	{ return file_system ? file_system->get_write_stream(filename) : WriteStreamHandle(); }
+
+
+// FileSystem
+
+FileSystem::FileSystem() { }
+
+FileSystem::~FileSystem() { }
+
+bool FileSystem::file_rename(const std::string & /* from_filename */, const std::string & /* to_filename */)
+{
+	return false;
+}
+
+bool FileSystem::copy(Handle from_file_system, const std::string &from_filename, Handle to_file_system, const std::string &to_filename)
+{
+	if (from_file_system.empty() || to_file_system.empty()) return false;
+	ReadStreamHandle read_stream = from_file_system->get_read_stream(from_filename);
+	if (read_stream.empty()) return false;
+	WriteStreamHandle write_stream = to_file_system->get_write_stream(to_filename);
+	if (write_stream.empty()) return false;
+	return write_stream->write_whole_stream(read_stream);
+}
+
+std::string FileSystem::fix_slashes(const std::string &filename)
+{
+	std::string fixed = filename;
+	for(size_t i = 0; i < filename.size(); ++i)
+		if (fixed[i] == '\\') fixed[i] = '/';
+	return fixed;
+}
+
+
+std::istream& FileSystem::safeGetline(std::istream& is, std::string& t)
+{
+	t.clear();
+	//code from http://stackoverflow.com/questions/6089231/getting-std-ifstream-to-handle-lf-cr-and-crlf
+
+	// The characters in the stream are read one-by-one using a std::streambuf.
+	// That is faster than reading them one-by-one using the std::istream.
+	// Code that uses streambuf this way must be guarded by a sentry object.
+	// The sentry object performs various tasks,
+	// such as thread synchronization and updating the stream state.
+
+	std::istream::sentry se(is, true);
+	std::streambuf* sb = is.rdbuf();
+
+	for(;;) {
+		int c = sb->sbumpc();
+		switch (c) {
+		case '\n':
+			return is;
+		case '\r':
+			if(sb->sgetc() == '\n')
+				sb->sbumpc();
+			return is;
+		case EOF:
+			// Also handle the case when the last line has no line ending
+			if(t.empty())
+				is.setstate(std::ios::eofbit);
+			return is;
+		default:
+			t += (char)c;
+		}
+	}
+}
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filesystem.h b/src/synfig/filesystem.h
new file mode 100644
index 0000000..0e9d8ad
--- /dev/null
+++ b/src/synfig/filesystem.h
@@ -0,0 +1,174 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystem.h
+**	\brief FileSystem
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILESYSTEM_H
+#define __SYNFIG_FILESYSTEM_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <cstdio>
+#include <string>
+#include <streambuf>
+#include <istream>
+#include <ostream>
+#include <ETL/handle>
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileSystem : public etl::rshared_object
+	{
+	public:
+		typedef etl::handle< FileSystem > Handle;
+
+		class Stream : public etl::rshared_object
+		{
+		protected:
+			Handle file_system_;
+			Stream(Handle file_system);
+		public:
+			virtual ~Stream();
+			Handle file_system() const { return file_system_; }
+		};
+
+		class ReadStream :
+			public Stream,
+			private std::streambuf,
+			public std::istream
+		{
+		protected:
+			char buffer_;
+
+			ReadStream(Handle file_system);
+			virtual int underflow();
+			virtual size_t internal_read(void *buffer, size_t size) = 0;
+
+		public:
+			size_t read_block(void *buffer, size_t size)
+				{ return read((char*)buffer, size).gcount(); }
+			bool read_whole_block(void *buffer, size_t size)
+				{ return size == read_block(buffer, size); }
+			template<typename T> bool read_variable(T &v)
+				{ return read_whole_block(&v, sizeof(T)); }
+		};
+
+		typedef etl::handle< ReadStream > ReadStreamHandle;
+
+		class WriteStream :
+			public Stream,
+			private std::streambuf,
+			public std::ostream
+		{
+		protected:
+			WriteStream(Handle file_system);
+	        virtual int overflow(int ch);
+			virtual size_t internal_write(const void *buffer, size_t size) = 0;
+
+		public:
+			bool write_block(const void *buffer, size_t size)
+			{
+				for(size_t i = 0; i < size; i++)
+					if (!put(((const char*)buffer)[i]).good())
+						return i;
+				return size;
+			}
+			bool write_whole_block(const void *buffer, size_t size)
+				{ return size == write_block(buffer, size); }
+			bool write_whole_stream(std::streambuf &streambuf)
+				{ return (*this << &streambuf).good(); }
+			bool write_whole_stream(std::istream &stream)
+				{ return write_whole_stream(*stream.rdbuf()); }
+			bool write_whole_stream(ReadStreamHandle stream)
+				{ return !stream || write_whole_stream(*(std::istream*)&(*stream)); }
+			template<typename T> bool write_variable(const T &v)
+				{ return write_whole_block(&v, sizeof(T)); }
+		};
+
+		typedef etl::handle< WriteStream > WriteStreamHandle;
+
+		class Identifier {
+		public:
+			Handle file_system;
+			std::string filename;
+			Identifier() { }
+			Identifier(const Handle &file_system, const std::string &filename):
+				file_system(file_system), filename(filename) { }
+
+			bool empty() const { return file_system; }
+			operator bool () const { return !empty(); }
+
+			bool operator < (const Identifier &other) const
+			{
+				if (file_system.get() < other.file_system.get()) return true;
+				if (other.file_system.get() < file_system.get()) return false;
+				if (filename < other.filename) return true;
+				if (other.filename < filename) return false;
+				return false;
+			}
+			bool operator > (const Identifier &other) const
+				{ return other < *this; }
+			bool operator != (const Identifier &other) const
+				{ return *this > other || other < *this; }
+			bool operator == (const Identifier &other) const
+				{ return !(*this != other); }
+
+			ReadStreamHandle get_read_stream() const;
+			WriteStreamHandle get_write_stream() const;
+		};
+
+		FileSystem();
+		virtual ~FileSystem();
+
+		virtual bool is_file(const std::string &filename) = 0;
+		virtual bool is_directory(const std::string &filename) = 0;
+
+		virtual bool directory_create(const std::string &dirname) = 0;
+
+		virtual bool file_remove(const std::string &filename) = 0;
+		virtual bool file_rename(const std::string &from_filename, const std::string &to_filename);
+		virtual ReadStreamHandle get_read_stream(const std::string &filename) = 0;
+		virtual WriteStreamHandle get_write_stream(const std::string &filename) = 0;
+
+		inline bool is_exists(const std::string filename) { return is_file(filename) || is_directory(filename); }
+
+		Identifier get_identifier(const std::string &filename) { return Identifier(this, filename); }
+		static bool copy(Handle from_file_system, const std::string &from_filename, Handle to_file_system, const std::string &to_filename);
+
+		static std::string fix_slashes(const std::string &filename);
+
+		///!@brief Read a stream line by line even '\r\n' ended
+		static std::istream& safeGetline(std::istream& is, std::string& t);
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/filesystemgroup.cpp b/src/synfig/filesystemgroup.cpp
new file mode 100644
index 0000000..d3a8941
--- /dev/null
+++ b/src/synfig/filesystemgroup.cpp
@@ -0,0 +1,166 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystemgroup.cpp
+**	\brief FileSystemGroup
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "filesystemgroup.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+FileSystemGroup::FileSystemGroup() { }
+
+FileSystemGroup::FileSystemGroup(Handle default_file_system)
+{
+	if (default_file_system) register_system(std::string(), default_file_system);
+}
+
+bool FileSystemGroup::find_system(const std::string &filename, Handle &out_file_system, std::string &out_filename)
+{
+	for(std::list< Entry >::iterator i = entries_.begin(); i != entries_.end(); i++)
+	{
+		if (filename.substr(0, i->prefix.size()) == i->prefix)
+		{
+			out_file_system = i->file_system;
+			out_filename = filename.substr(i->prefix.size());
+			return true;
+		}
+	}
+
+	out_file_system.reset();
+	out_filename.clear();
+	return false;
+}
+
+void FileSystemGroup::register_system(const std::string &prefix, FileSystem::Handle file_system)
+{
+	if (file_system)
+	{
+		// keep list sorted by length of prefix desc
+		for(std::list< Entry >::iterator i = entries_.begin(); i != entries_.end(); i++)
+		{
+			if (i->prefix == prefix)
+			{
+				i->file_system = file_system;
+				return;
+			}
+			if (i->prefix.size() <= prefix.size())
+			{
+				entries_.insert( i, Entry(prefix, file_system) );
+				return;
+			}
+		}
+		entries_.push_back( Entry(prefix, file_system) );
+	}
+}
+
+void FileSystemGroup::unregister_system(const std::string &prefix)
+{
+	for(std::list< Entry >::iterator i = entries_.begin(); i != entries_.end();)
+		if (i->prefix == prefix)
+			i = entries_.erase(i); else i++;
+}
+
+bool FileSystemGroup::is_file(const std::string &filename)
+{
+	Handle file_system;
+	std::string internal_filename;
+	return find_system(filename, file_system, internal_filename)
+	    && file_system->is_file(internal_filename);
+}
+
+bool FileSystemGroup::is_directory(const std::string &filename)
+{
+	Handle file_system;
+	std::string internal_filename;
+	return find_system(filename, file_system, internal_filename)
+	    && file_system->is_directory(internal_filename);
+}
+
+bool FileSystemGroup::directory_create(const std::string &dirname)
+{
+	Handle file_system;
+	std::string internal_dirname;
+	return find_system(dirname, file_system, internal_dirname)
+	    && file_system->directory_create(internal_dirname);
+}
+
+bool FileSystemGroup::file_remove(const std::string &filename)
+{
+	Handle file_system;
+	std::string internal_filename;
+	return find_system(filename, file_system, internal_filename)
+	    && file_system->file_remove(internal_filename);
+}
+
+bool FileSystemGroup::file_rename(const std::string &from_filename, const std::string &to_filename)
+{
+	// move file across file systems not supported
+	Handle from_file_system, to_file_system;
+	std::string from_internal_filename, to_internal_filename;
+	return find_system(from_filename, from_file_system, from_internal_filename)
+	    && find_system(to_filename, to_file_system, to_internal_filename)
+	    && from_file_system == to_file_system
+	    && from_file_system->file_rename(from_internal_filename, to_internal_filename);
+}
+
+FileSystem::ReadStreamHandle FileSystemGroup::get_read_stream(const std::string &filename)
+{
+	Handle file_system;
+	std::string internal_filename;
+	return find_system(filename, file_system, internal_filename)
+	     ? file_system->get_read_stream(internal_filename)
+	     : ReadStreamHandle();
+}
+
+FileSystem::WriteStreamHandle FileSystemGroup::get_write_stream(const std::string &filename)
+{
+	Handle file_system;
+	std::string internal_filename;
+	return find_system(filename, file_system, internal_filename)
+	     ? file_system->get_write_stream(internal_filename)
+	     : WriteStreamHandle();
+}
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filesystemgroup.h b/src/synfig/filesystemgroup.h
new file mode 100644
index 0000000..1e7ae56
--- /dev/null
+++ b/src/synfig/filesystemgroup.h
@@ -0,0 +1,81 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystemgroup.h
+**	\brief FileSystemGroup
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILESYSTEMGROUP_H
+#define __SYNFIG_FILESYSTEMGROUP_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <list>
+#include "filesystem.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileSystemGroup : public FileSystem
+	{
+	public:
+		struct Entry
+		{
+			std::string prefix;
+			Handle file_system;
+			inline Entry() { }
+			inline Entry(const std::string &prefix, const Handle &file_system):
+				prefix(prefix), file_system(file_system) { }
+		};
+
+	private:
+		std::list< Entry > entries_;
+
+		bool find_system(const std::string &filename, FileSystem::Handle &out_file_system, std::string &out_filename);
+
+	public:
+		FileSystemGroup();
+		explicit FileSystemGroup(Handle default_file_system);
+
+		void register_system(const std::string &prefix, FileSystem::Handle file_system);
+		void unregister_system(const std::string &prefix);
+
+		virtual bool is_file(const std::string &filename);
+		virtual bool is_directory(const std::string &filename);
+
+		virtual bool directory_create(const std::string &dirname);
+
+		virtual bool file_remove(const std::string &filename);
+		virtual bool file_rename(const std::string &from_filename, const std::string &to_filename);
+		virtual ReadStreamHandle get_read_stream(const std::string &filename);
+		virtual WriteStreamHandle get_write_stream(const std::string &filename);
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/filesystemnative.cpp b/src/synfig/filesystemnative.cpp
new file mode 100644
index 0000000..bf4a49b
--- /dev/null
+++ b/src/synfig/filesystemnative.cpp
@@ -0,0 +1,166 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystemnative.cpp
+**	\brief FileSystemNative
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "filesystemnative.h"
+#include <giomm.h>
+#include "general.h"
+#include "guid.h"
+#include <sys/stat.h>
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+const etl::handle< FileSystemNative > FileSystemNative::instance__(new FileSystemNative);
+
+// ReadStream
+
+FileSystemNative::ReadStream::ReadStream(Handle file_system, FILE *file):
+	FileSystem::ReadStream(file_system), file_(file) { }
+
+FileSystemNative::ReadStream::~ReadStream()
+	{ fclose(file_); }
+
+size_t FileSystemNative::ReadStream::internal_read(void *buffer, size_t size)
+	{ return fread(buffer, 1, size, file_); }
+
+
+// WriteStream
+
+FileSystemNative::WriteStream::WriteStream(Handle file_system, FILE *file):
+	FileSystem::WriteStream(file_system), file_(file) { }
+
+FileSystemNative::WriteStream::~WriteStream()
+	{ fclose(file_); }
+
+size_t FileSystemNative::WriteStream::internal_write(const void *buffer, size_t size)
+	{ return fwrite(buffer, 1, size, file_); }
+
+
+// FileSystemNative
+
+FileSystemNative::FileSystemNative() { }
+FileSystemNative::~FileSystemNative() { }
+
+bool FileSystemNative::is_file(const std::string &filename)
+{
+	return Gio::File::create_for_path(fix_slashes(filename))->query_file_type()
+	    == Gio::FILE_TYPE_REGULAR;
+}
+
+bool FileSystemNative::is_directory(const std::string &filename)
+{
+	return Gio::File::create_for_path(fix_slashes(filename))->query_file_type()
+	    == Gio::FILE_TYPE_DIRECTORY;
+}
+
+bool FileSystemNative::directory_create(const std::string &dirname)
+{
+	return is_directory(dirname)
+	    || Gio::File::create_for_path(fix_slashes(dirname))->make_directory();
+}
+
+bool FileSystemNative::file_remove(const std::string &filename)
+{
+	return 0 == remove(fix_slashes(filename).c_str());
+}
+
+bool FileSystemNative::file_rename(const std::string &from_filename, const std::string &to_filename)
+{
+#ifdef _WIN32
+	
+	// On Win32 platforms, rename() has bad behavior. Work around it.
+	
+	// Make random filename and ensure there's no file with such name exist
+	struct stat buf;
+	std::string old_file;
+	do {
+		synfig::GUID guid;
+		old_file = to_filename+"."+guid.get_string().substr(0,8);
+	} while (stat(Glib::locale_from_utf8(old_file).c_str(), &buf) != -1);
+	
+	rename(Glib::locale_from_utf8(to_filename).c_str(),Glib::locale_from_utf8(old_file).c_str());
+	
+	if(rename(Glib::locale_from_utf8(from_filename).c_str(),Glib::locale_from_utf8(to_filename).c_str())!=0)
+	{
+		rename(Glib::locale_from_utf8(old_file).c_str(),Glib::locale_from_utf8(to_filename).c_str());
+		synfig::error("synfig::save_canvas(): Unable to rename file to correct filename, errno=%d",errno);
+		return false;
+	}
+	remove(Glib::locale_from_utf8(old_file).c_str());
+	
+	return true;
+#else
+	return 0 == rename(from_filename.c_str(), to_filename.c_str());
+#endif
+}
+
+
+FileSystem::ReadStreamHandle FileSystemNative::get_read_stream(const std::string &filename)
+{
+#ifdef WIN32
+	FILE *f = fopen(Glib::locale_from_utf8(fix_slashes(filename)).c_str(), "rb");
+#else
+	FILE *f = fopen(fix_slashes(filename).c_str(), "rb");
+#endif
+	return f == NULL
+	     ? ReadStreamHandle()
+	     : ReadStreamHandle(new ReadStream(this, f));
+}
+
+FileSystem::WriteStreamHandle FileSystemNative::get_write_stream(const std::string &filename)
+{
+#ifdef WIN32
+	FILE *f = fopen(Glib::locale_from_utf8(fix_slashes(filename)).c_str(), "wb");
+#else
+	FILE *f = fopen(fix_slashes(filename).c_str(), "wb");
+#endif
+	return f == NULL
+	     ? WriteStreamHandle()
+	     : WriteStreamHandle(new WriteStream(this, f));
+}
+
+
+/* === E N T R Y P O I N T ================================================= */
+
+
diff --git a/src/synfig/filesystemnative.h b/src/synfig/filesystemnative.h
new file mode 100644
index 0000000..b37d313
--- /dev/null
+++ b/src/synfig/filesystemnative.h
@@ -0,0 +1,91 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file filesystemnative.h
+**	\brief FileSystemNative
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_FILESYSTEMNATIVE_H
+#define __SYNFIG_FILESYSTEMNATIVE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "filesystem.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+	class FileSystemNative : public FileSystem
+	{
+	public:
+		class ReadStream : public FileSystem::ReadStream
+		{
+		protected:
+			friend class FileSystemNative;
+			FILE *file_;
+			ReadStream(Handle file_system, FILE *file);
+			virtual size_t internal_read(void *buffer, size_t size);
+		public:
+			virtual ~ReadStream();
+		};
+
+		class WriteStream : public FileSystem::WriteStream
+		{
+		protected:
+			friend class FileSystemNative;
+			FILE *file_;
+			WriteStream(Handle file_system, FILE *file_);
+			virtual size_t internal_write(const void *buffer, size_t size);
+		public:
+			virtual ~WriteStream();
+		};
+
+	private:
+		static const etl::handle< FileSystemNative > instance__;
+		FileSystemNative();
+
+	public:
+		static const etl::handle< FileSystemNative >& instance()
+			{ return instance__; }
+
+		virtual ~FileSystemNative();
+
+		virtual bool is_file(const std::string &filename);
+		virtual bool is_directory(const std::string &filename);
+
+		virtual bool directory_create(const std::string &dirname);
+
+		virtual bool file_remove(const std::string &filename);
+		virtual bool file_rename(const std::string &from_filename, const std::string &to_filename);
+		virtual ReadStreamHandle get_read_stream(const std::string &filename);
+		virtual WriteStreamHandle get_write_stream(const std::string &filename);
+	};
+
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/general.h b/src/synfig/general.h
index 145c548..c6c0d25 100644
--- a/src/synfig/general.h
+++ b/src/synfig/general.h
@@ -114,13 +114,13 @@ class SuperCallback : public ProgressCallback
 	int w;
 public:
 
-	SuperCallback() { cb=NULL; }
-	SuperCallback(ProgressCallback *cb,int start, int end, int total):cb(cb),start(start),end(end),tot(total)
+	SuperCallback(): cb(), start(), end(), tot(), w() { }
+	SuperCallback(ProgressCallback *cb,int start_, int end_, int total):
+		cb(cb),start(start_),end(end_),tot(total),w(end-start)
 	{
 		//make sure we don't "inherit" if our subcallback is invalid
 		if(!cb || !cb->valid())
 			cb = NULL;
-		w=end-start;
 	}
 	virtual bool task(const String &task) { if(cb)return cb->task(task); return true; }
 	virtual bool error(const String &task) { if(cb)return cb->error(task); return true; }
diff --git a/src/synfig/gradient.h b/src/synfig/gradient.h
index 74bec5a..ca98e85 100644
--- a/src/synfig/gradient.h
+++ b/src/synfig/gradient.h
@@ -53,7 +53,7 @@ struct GradientCPoint : public UniqueID
 	bool operator<(const GradientCPoint &rhs)const { return pos<rhs.pos; }
 	bool operator<(const Real &rhs)const { return pos<rhs; }
 
-	GradientCPoint() { }
+	GradientCPoint(): pos() { }
 	GradientCPoint(const Real &pos, const Color &color):pos(pos),color(color) { }
 }; // END of class GradientCPoint
 
diff --git a/src/synfig/guid.cpp b/src/synfig/guid.cpp
index e537ba6..842c313 100644
--- a/src/synfig/guid.cpp
+++ b/src/synfig/guid.cpp
@@ -194,6 +194,17 @@ synfig::GUID::hasher(int i)
 	return ret;
 }
 
+synfig::GUID
+synfig::GUID::hasher(const GUID &x)
+{
+	GUID ret(0);
+	ret.data.u_32.a=GUID_RNG(x.data.u_32.d)(~(unsigned int)0);
+	ret.data.u_32.b=GUID_RNG(x.data.u_32.a)(~(unsigned int)0);
+	ret.data.u_32.c=GUID_RNG(x.data.u_32.b)(~(unsigned int)0);
+	ret.data.u_32.d=GUID_RNG(x.data.u_32.c)(~(unsigned int)0);
+	return ret;
+}
+
 String
 synfig::GUID::get_string()const
 {
diff --git a/src/synfig/guid.h b/src/synfig/guid.h
index c822628..38f8815 100644
--- a/src/synfig/guid.h
+++ b/src/synfig/guid.h
@@ -67,6 +67,7 @@ public:
 	static GUID zero() { return GUID(0); }
 	static GUID hasher(const String& str);
 	static GUID hasher(int i);
+	static GUID hasher(const GUID &x);
 
 	operator bool()const { return data.u_32.a||data.u_32.b||data.u_32.c||data.u_32.d; }
 
diff --git a/src/synfig/importer.cpp b/src/synfig/importer.cpp
index 820e6ce..c048ca0 100644
--- a/src/synfig/importer.cpp
+++ b/src/synfig/importer.cpp
@@ -52,7 +52,7 @@ using namespace synfig;
 
 Importer::Book* synfig::Importer::book_;
 
-map<String,Importer::LooseHandle> *__open_importers;
+map<FileSystem::Identifier,Importer::LooseHandle> *__open_importers;
 
 /* === P R O C E D U R E S ================================================= */
 
@@ -62,7 +62,7 @@ bool
 Importer::subsys_init()
 {
 	book_=new Book();
-	__open_importers=new map<String,Importer::LooseHandle>();
+	__open_importers=new map<FileSystem::Identifier,Importer::LooseHandle>();
 	return true;
 }
 
@@ -81,11 +81,9 @@ Importer::book()
 }
 
 Importer::Handle
-Importer::open(const String &filename)
+Importer::open(const FileSystem::Identifier &identifier)
 {
-	//String filename;
-	//filename = Glib::locale_from_utf8(filename_utf);
-	if(filename.empty())
+	if(identifier.filename.empty())
 	{
 		synfig::error(_("Importer::open(): Cannot open empty filename"));
 		return 0;
@@ -93,19 +91,19 @@ Importer::open(const String &filename)
 
 	// If we already have an importer open under that filename,
 	// then use it instead.
-	if(__open_importers->count(filename))
+	if(__open_importers->count(identifier))
 	{
 		//synfig::info("Found importer already open, using it...");
-		return (*__open_importers)[filename];
+		return (*__open_importers)[identifier];
 	}
 
-	if(filename_extension(filename) == "")
+	if(filename_extension(identifier.filename) == "")
 	{
 		synfig::error(_("Importer::open(): Couldn't find extension"));
 		return 0;
 	}
 
-	String ext(filename_extension(filename));
+	String ext(filename_extension(identifier.filename));
 	if (ext.size()) ext = ext.substr(1); // skip initial '.'
 	std::transform(ext.begin(),ext.end(),ext.begin(),&::tolower);
 
@@ -118,12 +116,8 @@ Importer::open(const String &filename)
 
 	try {
 		Importer::Handle importer;
-#ifdef WIN32
-		importer=Importer::book()[ext](Glib::locale_from_utf8(filename).c_str());
-#else
-		importer=Importer::book()[ext](filename.c_str());
-#endif
-		(*__open_importers)[filename]=importer;
+		importer=Importer::book()[ext].factory(identifier);
+		(*__open_importers)[identifier]=importer;
 		return importer;
 	}
 	catch (String str)
@@ -133,8 +127,9 @@ Importer::open(const String &filename)
 	return 0;
 }
 
-Importer::Importer():
-	gamma_(2.2)
+Importer::Importer(const FileSystem::Identifier &identifier):
+	gamma_(2.2),
+	identifier(identifier)
 {
 }
 
@@ -142,7 +137,7 @@ Importer::Importer():
 Importer::~Importer()
 {
 	// Remove ourselves from the open importer list
-	map<String,Importer::LooseHandle>::iterator iter;
+	map<FileSystem::Identifier,Importer::LooseHandle>::iterator iter;
 	for(iter=__open_importers->begin();iter!=__open_importers->end();++iter)
 		if(iter->second==this)
 		{
diff --git a/src/synfig/importer.h b/src/synfig/importer.h
index 7244f2c..786e96d 100644
--- a/src/synfig/importer.h
+++ b/src/synfig/importer.h
@@ -33,7 +33,8 @@
 #include "string.h"
 #include "time.h"
 #include "gamma.h"
-#include "renddesc.h" 
+#include "renddesc.h"
+#include "filesystem.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -41,7 +42,30 @@
 //! To be used in the private part of the importer class definition.
 #define SYNFIG_IMPORTER_MODULE_EXT \
 		public: static const char name__[], version__[], ext__[],cvs_id__[]; \
-		static Importer *create(const char *filename);
+		static const bool supports_file_system_wrapper__; \
+		static synfig::Importer *create(const synfig::FileSystem::Identifier &identifier);
+
+//! Defines constructor for class derived from other class which derived from Importer
+#define SYNFIG_IMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, parent) \
+		public: class(const synfig::FileSystem::Identifier &identifier): parent(identifier) { }
+
+//! Defines constructor for class derived from Importer
+#define SYNFIG_IMPORTER_MODULE_CONSTRUCTOR(class) \
+		SYNFIG_IMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, synfig::Importer)
+
+//! Defines various variables and the create method, common for all importers.
+//! To be used in the private part of the importer class definition.
+//! And defines constructor for class derived from other class which derived from Importer
+#define SYNFIG_IMPORTER_MODULE_DECLARATIONS_DERIVED(class, parent) \
+		SYNFIG_IMPORTER_MODULE_EXT \
+		SYNFIG_IMPORTER_MODULE_CONSTRUCTOR_DERIVED(class, parent)
+
+//! Defines various variables and the create method, common for all importers.
+//! To be used in the private part of the importer class definition.
+//! And defines constructor
+#define SYNFIG_IMPORTER_MODULE_DECLARATIONS(class) \
+		SYNFIG_IMPORTER_MODULE_EXT \
+		SYNFIG_IMPORTER_MODULE_CONSTRUCTOR(class)
 
 //! Sets the name of the importer.
 #define SYNFIG_IMPORTER_SET_NAME(class,x) const char class::name__[]=x
@@ -55,9 +79,12 @@
 //! Sets the CVS ID of the importer.
 #define SYNFIG_IMPORTER_SET_CVS_ID(class,x) const char class::cvs_id__[]=x
 
+//! Sets the supports_file_system_wrapper flag of the importer.
+#define SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(class,x) const bool class::supports_file_system_wrapper__=x
+
 //! Defines de implementation of the create method for the importer
-//! \param filename The file name to be imported by the importer.
-#define SYNFIG_IMPORTER_INIT(class) synfig::Importer* class::create(const char *filename) { return new class(filename); }
+//! \param identifier The identifier of file to be imported by the importer.
+#define SYNFIG_IMPORTER_INIT(class) synfig::Importer* class::create(const synfig::FileSystem::Identifier &identifier) { return new class(identifier); }
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -85,8 +112,20 @@ class Importer : public etl::shared_object
 public:
 	//! Type that represents a pointer to a Importer's constructor.
 	//! As a pointer to the constructor, it represents a "factory" of importers.
-	typedef Importer* (*Factory)(const char *filename);
-	typedef std::map<String,Factory> Book;
+	typedef Importer* (*Factory)(const FileSystem::Identifier &identifier);
+
+	struct BookEntry
+	{
+		Factory factory;
+		bool supports_file_system_wrapper;
+
+		BookEntry(): factory(NULL), supports_file_system_wrapper(false) { }
+		BookEntry(Factory factory, bool supports_file_system_wrapper):
+		factory(factory), supports_file_system_wrapper(supports_file_system_wrapper)
+		{ }
+	};
+
+	typedef std::map<std::string,BookEntry> Book;
 	static Book* book_;
 
 	static Book& book();
@@ -108,9 +147,11 @@ private:
 	Gamma gamma_;
 
 protected:
-	Importer();
+
+	Importer(const FileSystem::Identifier &identifier);
 
 public:
+	const FileSystem::Identifier identifier;
 
 	Gamma& gamma() { return gamma_; }
 	const Gamma& gamma()const { return gamma_; }
@@ -141,7 +182,7 @@ public:
 	virtual bool is_animated() { return false; }
 
 	//! Attempts to open \a filename, and returns a handle to the associated Importer
-	static Handle open(const String &filename);
+	static Handle open(const FileSystem::Identifier &identifier);
 };
 
 }; // END of namespace synfig
diff --git a/src/synfig/keyframe.cpp b/src/synfig/keyframe.cpp
index 1ac23bf..0fdecfc 100644
--- a/src/synfig/keyframe.cpp
+++ b/src/synfig/keyframe.cpp
@@ -246,7 +246,8 @@ KeyframeList::insert_time(const Time& location, const Time& delta)
 		return;
 	try
 	{
-		iterator iter(find_next(location));
+		// find next from time (location) including deactivated kf
+		iterator iter(find_next(location, false));
 		for(;iter!=end();++iter)
 		{
 			iter->set_time(iter->get_time()+delta);
diff --git a/src/synfig/layer.cpp b/src/synfig/layer.cpp
index 8895567..7827cf0 100644
--- a/src/synfig/layer.cpp
+++ b/src/synfig/layer.cpp
@@ -43,10 +43,13 @@
 
 #include "layer_solidcolor.h"
 #include "layer_polygon.h"
-#include "layer_pastecanvas.h"
+#include "layer_group.h"
+#include "layer_switch.h"
 #include "layer_motionblur.h"
 #include "layer_duplicate.h"
 #include "layer_skeleton.h"
+#include "layer_skeletondeformation.h"
+#include "layer_sound.h"
 
 #include "valuenode_const.h"
 
@@ -116,13 +119,22 @@ Layer::subsys_init()
 				  class::cvs_id__,								\
 				  class::version__)
 
-	INCLUDE_LAYER(Layer_SolidColor);	LAYER_ALIAS(Layer_SolidColor,	"solid_color");
-	INCLUDE_LAYER(Layer_PasteCanvas);	LAYER_ALIAS(Layer_PasteCanvas,	"paste_canvas");
-	INCLUDE_LAYER(Layer_Polygon);		LAYER_ALIAS(Layer_Polygon,		"Polygon");
-	INCLUDE_LAYER(Layer_MotionBlur);	LAYER_ALIAS(Layer_MotionBlur,	"motion_blur");
+	INCLUDE_LAYER(Layer_SolidColor);
+		LAYER_ALIAS(Layer_SolidColor,	"solid_color");
+	INCLUDE_LAYER(Layer_Group);
+		LAYER_ALIAS(Layer_Group,		"paste_canvas");
+		LAYER_ALIAS(Layer_Group,		"PasteCanvas");
+	INCLUDE_LAYER(Layer_Switch);
+	INCLUDE_LAYER(Layer_Polygon);
+		LAYER_ALIAS(Layer_Polygon,		"Polygon");
+	INCLUDE_LAYER(Layer_MotionBlur);
+		LAYER_ALIAS(Layer_MotionBlur,	"motion_blur");
 	INCLUDE_LAYER(Layer_Duplicate);
 	INCLUDE_LAYER(Layer_Skeleton);
+	INCLUDE_LAYER(Layer_SkeletonDeformation);
+	INCLUDE_LAYER(Layer_Sound);
 
+#undef LAYER_ALIAS
 #undef INCLUDE_LAYER
 
 	return true;
@@ -139,6 +151,7 @@ Layer::subsys_stop()
 
 Layer::Layer():
 	active_(true),
+	optimized_(false),
 	exclude_from_rendering_(false),
 	param_z_depth(Real(0.0f)),
 	dirty_time_(Time::end())
@@ -332,6 +345,13 @@ Layer::get_z_depth(const synfig::Time& t)const
 	return (*dynamic_param_list().find("z_depth")->second)(t).get(Real());
 }
 
+float
+Layer::get_true_z_depth(const synfig::Time& t)const
+{
+	// TODO: the 1.0001 constant should be somehow user defined
+	return get_z_depth(t)*1.0001+get_depth();
+}
+
 Layer::Handle
 Layer::simple_clone()const
 {
@@ -341,6 +361,7 @@ Layer::simple_clone()const
 	//ret->set_canvas(get_canvas());
 	ret->set_description(get_description());
 	ret->set_active(active());
+	ret->set_optimized(optimized());
 	ret->set_exclude_from_rendering(get_exclude_from_rendering());
 	ret->set_param_list(get_param_list());
 	for(DynamicParamList::const_iterator iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
@@ -360,6 +381,7 @@ Layer::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid) const
 	//ret->set_canvas(get_canvas());
 	ret->set_description(get_description());
 	ret->set_active(active());
+	ret->set_optimized(optimized());
 	ret->set_exclude_from_rendering(get_exclude_from_rendering());
 	ret->set_guid(get_guid()^deriv_guid);
 
@@ -369,7 +391,7 @@ Layer::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid) const
 	ParamList param_list(get_param_list());
 	for(ParamList::const_iterator iter(param_list.begin()); iter != param_list.end(); ++iter)
 	{
-		if(dynamic_param_list().count(iter->first)==0 && iter->second.get_type()==ValueBase::TYPE_CANVAS)
+		if(dynamic_param_list().count(iter->first)==0 && iter->second.get_type()==type_canvas)
 		{
 			// This parameter is a canvas.  We need a close look.
 			Canvas::Handle canvas(iter->second.get(Canvas::Handle()));
@@ -396,7 +418,7 @@ Layer::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid) const
 	for(iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
 	{
 		// Make sure we clone inline canvases
-		if(iter->second->get_type()==ValueBase::TYPE_CANVAS)
+		if(iter->second->get_type()==type_canvas)
 		{
 			Canvas::Handle canvas((*iter->second)(0).get(Canvas::Handle()));
 			if(canvas->is_inline())
@@ -538,12 +560,176 @@ Layer::hit_check(synfig::Context context, const synfig::Point &pos)const
 	return context.hit_check(pos);
 }
 
+// Temporary function to render transformed layer for layers which yet not suppurt transformed rendering
+#ifdef _DEBUG
+bool
+Layer::render_transformed(const Layer *layer, Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb, const char *file, int line)
+{
+	warning("%s:%d Resampling used while rendering - possible overhead (called from %s:%d)", __FILE__, __LINE__, file, line);
+#else
+bool
+Layer::render_transformed(const Layer *layer, Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb, const char *, int)
+{
+#endif
+
+	Transformation transformation(renddesc.get_transformation_matrix());
+
+	if(cb && !cb->amount_complete(0,10000)) return false;
+
+	SuperCallback stageone(cb,0,4500,10000);
+	SuperCallback stagetwo(cb,4500,9000,10000);
+	SuperCallback stagethree(cb,9000,9999,10000);
+
+	surface->set_wh(renddesc.get_w(),renddesc.get_h());
+	surface->clear();
+
+	const Rect full_bounding_rect(layer->get_full_bounding_rect(context));
+	Rect inner_bounds(
+	    full_bounding_rect.get_min(),
+	    full_bounding_rect.get_max()
+	);
+	inner_bounds &= transformation.back_transform_bounds(renddesc.get_rect());
+	Rect outer_bounds(transformation.transform_bounds(inner_bounds));
+	outer_bounds &= renddesc.get_rect();
+
+	// sometimes the user changes the parameters while we're
+	// rendering, causing our pasted canvas' bounding box to shrink
+	// and no longer overlap with our tile.  if that has happened,
+	// let's just stop now - we'll be refreshing soon anyway
+	//! \todo shouldn't a mutex ensure this isn't needed?
+	// http://synfig.org/images/d/d2/Bbox-change.sifz is an example
+	// that shows this happening - open the encapsulation, select the
+	// 'shade', and toggle the 'invert' parameter quickly.
+	// Occasionally you'll see:
+	//   error: Context::accelerated_render(): Layer "shade" threw a bad_alloc exception!
+	// where the shade layer tries to allocate itself a canvas of
+	// negative proportions, due to changing bounding boxes.
+	if (!inner_bounds.is_valid())
+	{
+		warning("%s:%d bounding box shrank while rendering?", __FILE__, __LINE__);
+		return true;
+	}
+
+	Vector width_vector(
+		transformation.transform(
+			Vector(inner_bounds.maxx - inner_bounds.minx, 0.0), false ));
+	Vector pixels_width_vector(
+		width_vector[0]/renddesc.get_pw(),
+		width_vector[1]/renddesc.get_ph() );
+	int inner_width_pixels = (int)ceil(pixels_width_vector.mag());
+
+	Vector ortho_axis_x(width_vector.norm());
+	Vector ortho_axis_y(-ortho_axis_x.perp());
+
+	Vector height_vector(
+		transformation.transform(
+			Vector(0.0, inner_bounds.maxy - inner_bounds.miny), false ));
+	Vector ortho_height_vector(
+		ortho_axis_y * (height_vector*ortho_axis_y) );
+	Vector pixels_height_vector(
+		ortho_height_vector[0]/renddesc.get_pw(),
+		ortho_height_vector[1]/renddesc.get_ph() );
+	int inner_height_pixels = (int)ceil(pixels_height_vector.mag());
+
+	// make 8 pixels border for bicubic resampling
+	float intermediate_pw = (inner_bounds.maxx-inner_bounds.minx)/(float)inner_width_pixels;
+	float intermediate_ph = (inner_bounds.maxy-inner_bounds.miny)/(float)inner_height_pixels;
+	inner_bounds.maxx += 8.f*intermediate_pw;
+	inner_bounds.minx -= 8.f*intermediate_pw;
+	inner_bounds.maxy += 8.f*intermediate_ph;
+	inner_bounds.miny -= 8.f*intermediate_ph;
+	inner_width_pixels += 16;
+	inner_height_pixels += 16;
+
+	RendDesc intermediate_desc(renddesc);
+	intermediate_desc.clear_flags();
+	intermediate_desc.set_transformation_matrix(Matrix());
+	intermediate_desc.set_tl(Vector(inner_bounds.minx,inner_bounds.maxy));
+	intermediate_desc.set_br(Vector(inner_bounds.maxx,inner_bounds.miny));
+	intermediate_desc.set_flags(0);
+	intermediate_desc.set_w(inner_width_pixels);
+	intermediate_desc.set_h(inner_height_pixels);
+
+	Surface intermediate_surface;
+	if(!layer->accelerated_render(context,&intermediate_surface,quality,intermediate_desc,&stagetwo))
+		return false;
+
+	Rect pixels_outer_bounds(
+		Vector((outer_bounds.minx-renddesc.get_tl()[0])/renddesc.get_pw(),
+			   (outer_bounds.miny-renddesc.get_tl()[1])/renddesc.get_ph()),
+		Vector((outer_bounds.maxx-renddesc.get_tl()[0])/renddesc.get_pw(),
+			   (outer_bounds.maxy-renddesc.get_tl()[1])/renddesc.get_ph())
+	);
+
+	int left   = (int)floor(pixels_outer_bounds.minx);
+	int top    = (int)floor(pixels_outer_bounds.miny);
+	int right  = (int)ceil (pixels_outer_bounds.maxx);
+	int bottom = (int)ceil (pixels_outer_bounds.maxy);
+
+	int w = min(surface->get_w(), renddesc.get_w());
+	int h = min(surface->get_h(), renddesc.get_h());
+
+	if (left < 0) left = 0;
+	if (top < 0) top = 0;
+	if (right > w) right = w;
+	if (bottom > h) bottom = h;
+
+	int decx = right - left;
+	if (top < bottom && left < right) {
+		Vector initial_outer_pos(left*renddesc.get_pw(), top*renddesc.get_ph());
+		initial_outer_pos += renddesc.get_tl();
+		Vector initial_inner_pos = transformation.back_transform(initial_outer_pos);
+		Vector initial_inner_surface_pos(initial_inner_pos - intermediate_desc.get_tl());
+		initial_inner_surface_pos[0] /= intermediate_desc.get_pw();
+		initial_inner_surface_pos[1] /= intermediate_desc.get_ph();
+
+		Vector initial_outer_pos01((left+1)*renddesc.get_pw(), top*renddesc.get_ph());
+		initial_outer_pos01 += renddesc.get_tl();
+		Vector initial_inner_pos01 = transformation.back_transform(initial_outer_pos01);
+		Vector initial_inner_surface_pos01(initial_inner_pos01 - intermediate_desc.get_tl());
+		initial_inner_surface_pos01[0] /= intermediate_desc.get_pw();
+		initial_inner_surface_pos01[1] /= intermediate_desc.get_ph();
+
+		Vector initial_outer_pos10(left*renddesc.get_pw(), (top+1)*renddesc.get_ph());
+		initial_outer_pos10 += renddesc.get_tl();
+		Vector initial_inner_pos10 = transformation.back_transform(initial_outer_pos10);
+		Vector initial_inner_surface_pos10(initial_inner_pos10 - intermediate_desc.get_tl());
+		initial_inner_surface_pos10[0] /= intermediate_desc.get_pw();
+		initial_inner_surface_pos10[1] /= intermediate_desc.get_ph();
+
+		Vector dx(initial_inner_surface_pos01 - initial_inner_surface_pos);
+		Vector dy(initial_inner_surface_pos10 - initial_inner_surface_pos);
+
+		Vector row_inner_surface_pos(initial_inner_surface_pos);
+		Vector inner_surface_pos;
+
+		Surface::pen pen(surface->get_pen(left, top));
+		for(int y = top; y < bottom; y++) {
+			inner_surface_pos = row_inner_surface_pos;
+			for(int x = left; x < right; x++) {
+				pen.put_value( intermediate_surface.cubic_sample(inner_surface_pos[0], inner_surface_pos[1]) );
+				pen.inc_x();
+				inner_surface_pos += dx;
+			}
+			pen.dec_x(decx);
+			pen.inc_y();
+			row_inner_surface_pos += dy;
+		}
+	}
+
+	if(cb && !cb->amount_complete(10000,10000)) return false;
+
+	return true;
+}
+
 /* 	The default accelerated renderer
 **	is anything but accelerated...
 */
 bool
-Layer::accelerated_render(Context context,Surface *surface,int /*quality*/, const RendDesc &renddesc, ProgressCallback *cb)  const
+Layer::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	handle<Target_Scanline> target=surface_target(surface);
 	if(!target)
 	{
@@ -668,6 +854,31 @@ Layer::get_param_local_name(const String &param_name)const
 	return String();
 }
 
+synfig::Layer::LooseHandle
+synfig::Layer::get_parent_paste_canvas_layer()const
+{
+	synfig::Canvas::LooseHandle canvas=get_canvas();
+	if(canvas->parent())
+	{
+		synfig::Canvas::LooseHandle parent_canvas=canvas->parent();
+		Canvas::iterator iter;
+		for(iter=parent_canvas->begin();iter!=parent_canvas->end();++iter)
+		{
+			Layer::LooseHandle layer=iter->get();
+			if(dynamic_cast<Layer_PasteCanvas*>(layer.get()) != NULL)
+			{
+				Layer_PasteCanvas* paste_canvas(static_cast<Layer_PasteCanvas*>(layer.get()));
+				Canvas::Handle sub_canvas=paste_canvas->get_sub_canvas();
+				if(sub_canvas==canvas)
+					return layer;
+			}
+		}
+		synfig::warning("Layer's canvas has parent canvas but I can't find a proper Layer_PasteCanvas in it");
+		return NULL;
+	}
+	return NULL;
+}
+
 String
 Layer::get_string()const
 {
@@ -690,3 +901,7 @@ Layer::get_parent_canvas_grow_value()const
 	}
 	return ret;
 }
+
+void
+Layer::fill_sound_processor(SoundProcessor & /* soundProcessor */) const
+{ }
diff --git a/src/synfig/layer.h b/src/synfig/layer.h
index f154f44..8932be2 100644
--- a/src/synfig/layer.h
+++ b/src/synfig/layer.h
@@ -46,6 +46,12 @@
 
 /* === M A C R O S ========================================================= */
 
+// This macros should be removed when rendering optimization complete
+#define RENDER_TRANSFORMED_IF_NEED(file, line) \
+	if (!renddesc.get_transformation_matrix().is_identity()) \
+		return render_transformed(this, context, surface, quality, renddesc, cb, file, line);
+
+
 //! Defines various variables and the create method, common for all importers.
 //! To be used in the private part of the importer class definition.
 #define SYNFIG_LAYER_MODULE_EXT															\
@@ -84,21 +90,25 @@
 #define IMPORT_VALUE(x)                                                         \
 	if (#x=="param_"+param && x.get_type()==value.get_type())                   \
 	{                                                                           \
-		x.copy(value);                                                                \
+		x=value;                                                                \
 		return true;                                                            \
 	}
 
 //! Imports a parameter 'x' and perform an action usually based on
 //! some condition 'y'
-#define IMPORT_VALUE_PLUS(x,y)                                                  \
+#define IMPORT_VALUE_PLUS_BEGIN(x)                                              \
 	if (#x=="param_"+param && x.get_type()==value.get_type())                   \
 	{                                                                           \
 		x=value;                                                                \
-		{                                                                       \
-			y;                                                                  \
+		{
+#define IMPORT_VALUE_PLUS_END                                                   \
 		}                                                                       \
 		return true;                                                            \
 	}
+#define IMPORT_VALUE_PLUS(x,y)                                                  \
+        IMPORT_VALUE_PLUS_BEGIN(x)                                              \
+			y;                                                                  \
+        IMPORT_VALUE_PLUS_END
 
 //! Exports a parameter if it is the same type as value
 #define EXPORT_VALUE(x)                                                         \
@@ -208,7 +218,7 @@ public:
 		String category;
 		String cvs_id;
 		String version;
-		BookEntry() { }
+		BookEntry(): factory() { }
 		BookEntry(Factory		 factory,
 				  const String	&name,
 				  const String	&local_name,
@@ -272,6 +282,9 @@ private:
 	*/
 	bool active_;
 
+	//! flag to prevent re-apply optimization features
+	bool optimized_;
+
 	/*! When \c true, layer will skipped while final rendering
 	**	but will still present onto work view.
 	**	\see set_exclude_from_rendering(), get_exclude_from_rendering()
@@ -397,6 +410,12 @@ public:
 	//! Returns that status of the 'active' flag
 	bool active()const { return active_; }
 
+	//! flag to prevent re-apply optimization features
+	bool optimized()const { return optimized_; }
+
+	//! set flag to prevent re-apply optimization features
+	void set_optimized(bool x) { optimized_ = x; }
+
 	//! Sets the 'exclude_from_rendering' flag for the Layer
 	/*! When set, layer will skipped while final rendering
 	**	but will still present onto work view. */
@@ -415,6 +434,9 @@ public:
 	//! Gets the z depth of the layer at a time t
 	float get_z_depth(const synfig::Time& t)const;
 
+	//! Gets the true z depth of the layer (index + parameter)
+	float get_true_z_depth(const synfig::Time& t=Time(0))const;
+
 	//! Sets the z depth of the layer (non animated)
 	void set_z_depth(float x) { param_z_depth=ValueBase(Real(x)); }
 
@@ -439,6 +461,11 @@ public:
 	//! Returns the localised version of the given layer parameter
 	const String get_param_local_name(const String &param_name)const;
 
+	//! Returns a handle to the Parent PasteCanvas layer or NULL if layer belongs to root canvas
+	/*! Notice that it could return the wrong handle to PasteCanvas if the layer */
+	/*! belongs to a exported canvas (canvas can be referenced multiple times)*/
+	Layer::LooseHandle get_parent_paste_canvas_layer()const;
+
 	/*
  --	** -- V I R T U A L   F U N C T I O N S -----------------------------------
 	*/
@@ -527,6 +554,9 @@ public:
 	//! Sets the render method to the layer. Not all layers uses this virtual member
 	virtual void set_render_method(Context context, RenderMethod x);
 	
+	// Temporary function to render transformed layer for leyers which yet not suppurt transformed rendering
+	static bool render_transformed(const Layer *layer, Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb, const char *file, int line);
+
 	//! Renders the Canvas to the given Surface in an accelerated manner
 	/*!	\param context		Context iterator referring to next Layer.
 	**	\param surface		Pointer to Surface to render to.
@@ -571,6 +601,8 @@ public:
 	//! Retrieves the grow value from its parent canvas
 	Real get_parent_canvas_grow_value()const;
 
+	virtual void fill_sound_processor(SoundProcessor &soundProcessor) const;
+
 protected:
 
 	//! This is called whenever a parameter is changed
diff --git a/src/synfig/layer_bitmap.cpp b/src/synfig/layer_bitmap.cpp
index 058804a..e0a10ac 100644
--- a/src/synfig/layer_bitmap.cpp
+++ b/src/synfig/layer_bitmap.cpp
@@ -82,7 +82,7 @@ synfig::Layer_Bitmap::set_param(const String & param, const ValueBase & value)
 	IMPORT_VALUE(param_br);
 	IMPORT_VALUE(param_c);
 	IMPORT_VALUE_PLUS(param_gamma_adjust,
-		if(param=="gamma_adjust"&& value.get_type()==ValueBase::TYPE_REAL)
+		if(param=="gamma_adjust"&& value.get_type()==type_real)
 		{
 			param_gamma_adjust.set(Real(1.0/value.get(Real())));
 			return true;
@@ -107,9 +107,9 @@ synfig::Layer_Bitmap::get_param(const String & param)const
 
 	if(param=="_width")
 	{
-		ValueBase ret1(ValueBase::TYPE_INTEGER);
+		ValueBase ret1(type_integer);
 		ret1=int(width);
-		ValueBase ret2(ValueBase::TYPE_INTEGER);
+		ValueBase ret2(type_integer);
 		switch (method)
 		{
 				case SOFTWARE:
@@ -125,9 +125,9 @@ synfig::Layer_Bitmap::get_param(const String & param)const
 	}
 	if(param=="_height")
 	{
-		ValueBase ret1(ValueBase::TYPE_INTEGER);
+		ValueBase ret1(type_integer);
 		ret1=int(height);
-		ValueBase ret2(ValueBase::TYPE_INTEGER);
+		ValueBase ret2(type_integer);
 		switch (method)
 		{
 			case SOFTWARE:
@@ -256,6 +256,8 @@ synfig::Layer_Bitmap::get_color(Context context, const Point &pos)const
 		surface_pos[1]/=br[1]-tl[1];
 		if(surface_pos[1]<=1.0 && surface_pos[1]>=0.0)
 		{
+			Mutex::Lock lock(mutex);
+
 			if (trimmed)
 			{
 				surface_pos[0]*=width;
@@ -333,6 +335,8 @@ synfig::Layer_Bitmap::get_cairocolor(Context context, const Point &pos)const
 		surface_pos[1]/=br[1]-tl[1];
 		if(surface_pos[1]<=1.0 && surface_pos[1]>=0.0)
 		{
+			Mutex::Lock lock(mutex);
+
 			if (trimmed)
 			{
 				surface_pos[0]*=width;
@@ -390,8 +394,12 @@ synfig::Layer_Bitmap::get_cairocolor(Context context, const Point &pos)const
 
 
 bool
-Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
+Layer_Bitmap::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
+	Mutex::Lock lock(mutex);
+
 	Point tl(param_tl.get(Point()));
 	Point br(param_br.get(Point()));
 	int c(param_c.get(int()));
@@ -405,13 +413,13 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 
 	// We can only handle NN and Linear at the moment
 	//if(interp>1)
-	//	return Layer_Composite::accelerated_render(context,out_surface,quality,renddesc,cb);
+	//	return Layer_Composite::accelerated_render(context,surface,quality,renddesc,cb);
 
 	//if we don't actually have a valid surface just skip us
-	if(!surface.is_valid())
+	if(!this->surface.is_valid())
 	{
 		// Render what is behind us
-		return context.accelerated_render(out_surface,quality,renddesc,cb);
+		return context.accelerated_render(surface,quality,renddesc,cb);
 	}
 
 	SuperCallback subcb(cb,1,10000,10001+renddesc.get_h());
@@ -423,19 +431,19 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 		renddesc.get_br()==br)
 	{
 		// Check for the trivial case
-		if(surface.get_w()==renddesc.get_w() && surface.get_h()==renddesc.get_h() && gamma_adjust==1.0f)
+		if(this->surface.get_w()==renddesc.get_w() && this->surface.get_h()==renddesc.get_h() && gamma_adjust==1.0f)
 		{
 			if(cb && !cb->amount_complete(0,100)) return false;
-			*out_surface=surface;
+			*surface=this->surface;
 			if(cb && !cb->amount_complete(100,100)) return false;
 			return true;
 		}
-		out_surface->set_wh(renddesc.get_w(),renddesc.get_h());
+		surface->set_wh(renddesc.get_w(),renddesc.get_h());
 	}
 	else
 	{
 		// Render what is behind us
-		if(!context.accelerated_render(out_surface,quality,renddesc,&subcb))
+		if(!context.accelerated_render(surface,quality,renddesc,&subcb))
 			return false;
 	}
 
@@ -455,8 +463,8 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 	float	outwf = obr[0] - otl[0];
 	float	outhf = obr[1] - otl[1];
 
-	int		inw = surface.get_w();
-	int		inh = surface.get_h();
+	int		inw = this->surface.get_w();
+	int		inh = this->surface.get_h();
 
 	int		outw = renddesc.get_w();
 	int		outh = renddesc.get_h();
@@ -466,8 +474,8 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 
 	if (trimmed)
 	{
-		inwf = (br[0] - tl[0])*surface.get_w()/width;
-		inhf = (br[1] - tl[1])*surface.get_h()/height;
+		inwf = (br[0] - tl[0])*this->surface.get_w()/width;
+		inhf = (br[1] - tl[1])*this->surface.get_h()/height;
 		itl = Point(tl[0] + (br[0]-tl[0])*left/width,
 					tl[1] + (br[1]-tl[1])*top/height);
 		ibr = Point(tl[0] + (br[0]-tl[0])*(left+inw)/width,
@@ -519,7 +527,7 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 
 	//start drawing at the start of the bitmap (either origin or corner of input...)
 	//and get other info
-	Surface::alpha_pen pen(out_surface->get_pen(x_start,y_start));
+	Surface::alpha_pen pen(surface->get_pen(x_start,y_start));
 	pen.set_alpha(get_amount());
 	pen.set_blend_method(get_blend_method());
 
@@ -548,13 +556,13 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 				inx = inx_start;//+0.5f;
 				for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
 				{
-					Color rc = surface.sample_rect_clip(inx,iny,inx+indx,iny+indy);
+					Color rc = this->surface.sample_rect_clip(inx,iny,inx+indx,iny+indy);
 					pen.put_value(filter(rc));
 				}
 				pen.dec_x(x_end-x_start);
 			}
 
-			//Color c = (*out_surface)[0][0];
+			//Color c = (*surface)[0][0];
 			//synfig::info("ValueBase of first pixel = (%f,%f,%f,%f)",c.get_r(),c.get_g(),c.get_b(),c.get_a());
 
 			return true;
@@ -577,7 +585,7 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 			for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
 			{
 				int xclamp = min(inw-1, max(0, round_to_int(inx)));
-				Color c = filter(surface[yclamp][xclamp]);
+				Color c = filter(this->surface[yclamp][xclamp]);
 				pen.put_value(c); //must get rid of the clip
 			}
 			pen.dec_x(x_end-x_start);
@@ -602,7 +610,7 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 			inx = inx_start;
 			for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
 			{
-				Color col(surface.linear_sample(inx,iny));
+				Color col(this->surface.linear_sample(inx,iny));
 				pen.put_value(filter(col));
 			}
 			pen.dec_x(x_end-x_start);
@@ -628,7 +636,7 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 			inx = inx_start;
 			for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
 			{
-				Color col(surface.cosine_sample(inx,iny));
+				Color col(this->surface.cosine_sample(inx,iny));
 				pen.put_value(filter(col));
 			}
 			pen.dec_x(x_end-x_start);
@@ -653,7 +661,7 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 			inx = inx_start;
 			for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
 			{
-				Color col(surface.cubic_sample(inx,iny));
+				Color col(this->surface.cubic_sample(inx,iny));
 				pen.put_value(filter(col));
 			}
 			pen.dec_x(x_end-x_start);
@@ -670,6 +678,8 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 bool
 Layer_Bitmap::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
+	Mutex::Lock lock(mutex);
+
 	Point tl(param_tl.get(Point()));
 	Point br(param_br.get(Point()));
 	int c(param_c.get(int()));
diff --git a/src/synfig/layer_bitmap.h b/src/synfig/layer_bitmap.h
index 980de4c..bf5a804 100644
--- a/src/synfig/layer_bitmap.h
+++ b/src/synfig/layer_bitmap.h
@@ -56,6 +56,7 @@ public:
 	ValueBase param_c;
 	ValueBase param_gamma_adjust;
 
+	mutable synfig::Mutex mutex;
 	mutable Surface surface;
 	mutable CairoSurface csurface;
 	mutable bool trimmed;
diff --git a/src/synfig/layer_composite.cpp b/src/synfig/layer_composite.cpp
index cbfef75..3b98156 100644
--- a/src/synfig/layer_composite.cpp
+++ b/src/synfig/layer_composite.cpp
@@ -32,6 +32,7 @@
 #endif
 
 #include "layer_composite.h"
+#include "layer_pastecanvas.h"
 #include "context.h"
 #include "time.h"
 #include "color.h"
@@ -64,7 +65,7 @@ using namespace synfig;
 /* === M E T H O D S ======================================================= */
 Layer_Composite::Layer_Composite(Real a, Color::BlendMethod bm):
 		param_amount		(a),
-		param_blend_method	(Color::BlendMethod(bm)),
+		param_blend_method	((int)Color::BlendMethod(bm)),
 		converted_blend_	(false),
 		transparent_color_	(false)
 	{
@@ -73,9 +74,10 @@ Layer_Composite::Layer_Composite(Real a, Color::BlendMethod bm):
 	}
 
 bool
-Layer_Composite::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc_, ProgressCallback *cb)  const
+Layer_Composite::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
-	RendDesc renddesc(renddesc_);
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Real amount(param_amount.get(Real()));
 	if(!amount)
 		return context.accelerated_render(surface,quality,renddesc,cb);
@@ -267,7 +269,7 @@ Layer_Composite::set_param(const String & param, const ValueBase &value)
 		if (blend_method < 0 || blend_method >= Color::BLEND_END)
 		{
 			warning("illegal value (%d) for blend_method - using Composite instead", blend_method);
-			param_blend_method.set(Color::BLEND_COMPOSITE);
+			param_blend_method.set((int)Color::BLEND_COMPOSITE);
 			return false;
 		}
 
@@ -280,12 +282,12 @@ Layer_Composite::set_param(const String & param, const ValueBase &value)
 
 				if (version == "0.1" || version == "0.2")
 				{
-					if (get_name() == "PasteCanvas")
+					if (dynamic_cast<Layer_PasteCanvas*>(this) != NULL)
 						warning("loaded a version %s canvas with a 'Straight' blended PasteCanvas (%s) - check it renders OK",
 								version.c_str(), get_non_empty_description().c_str());
 					else
 					{
-						param_blend_method.set(Color::BLEND_COMPOSITE);
+						param_blend_method.set(int(Color::BLEND_COMPOSITE));
 						converted_blend_ = true;
 
 						// if this layer has a transparent color, go back and set the color again
diff --git a/src/synfig/layer_composite.h b/src/synfig/layer_composite.h
index 165a4aa..7bca828 100644
--- a/src/synfig/layer_composite.h
+++ b/src/synfig/layer_composite.h
@@ -74,7 +74,7 @@ public:
 	//! Gets the blend method of the layer
 	Color::BlendMethod get_blend_method()const { return Color::BlendMethod((param_blend_method.get(int()))); }
 	//! Sets the blend method of the layer and returns this layer
-	Layer_Composite& set_blend_method(Color::BlendMethod x) { param_blend_method.set(x); return *this; }
+	Layer_Composite& set_blend_method(Color::BlendMethod x) { param_blend_method.set(int(x)); return *this; }
 	//! Returns true is amount is 1 and blend method is straight
 	virtual bool is_solid_color()const { return param_amount.get(Real())==1.0f && param_blend_method.get(int())==Color::BLEND_STRAIGHT; }
 	//! Returns true if the amount is zero.
diff --git a/src/synfig/layer_duplicate.cpp b/src/synfig/layer_duplicate.cpp
index e84fd86..1e81dd7 100644
--- a/src/synfig/layer_duplicate.cpp
+++ b/src/synfig/layer_duplicate.cpp
@@ -168,6 +168,8 @@ Layer_Duplicate::get_duplicate_param()const
 bool
 Layer_Duplicate::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	if(quality == 10)
 		return context.accelerated_render(surface,quality,renddesc,cb);
 
diff --git a/src/synfig/layer_group.cpp b/src/synfig/layer_group.cpp
new file mode 100644
index 0000000..d62b6a1
--- /dev/null
+++ b/src/synfig/layer_group.cpp
@@ -0,0 +1,150 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_group.cpp
+**	\brief Implementation of the "Group" layer
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2007, 2008 Chris Moore
+**	Copyright (c) 2011-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "layer_group.h"
+#include "string.h"
+#include "time.h"
+#include "context.h"
+#include "paramdesc.h"
+#include "value.h"
+#include "valuenode.h"
+#include "canvas.h"
+
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S ======================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_LAYER_INIT(Layer_Group);
+SYNFIG_LAYER_SET_NAME(Layer_Group,"group");
+SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Group,N_("Group"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_Group,N_("Other"));
+SYNFIG_LAYER_SET_VERSION(Layer_Group,"0.2");
+SYNFIG_LAYER_SET_CVS_ID(Layer_Group,"$Id$");
+
+/* === M E T H O D S ======================================================= */
+
+Layer_Group::Layer_Group()
+{
+	param_z_range=ValueBase(bool(false));
+	param_z_range_position=ValueBase(Real(0.0));
+	param_z_range_depth=ValueBase(Real(0.0));
+	param_z_range_blur=ValueBase(Real(0.0));
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+Layer_Group::~Layer_Group()
+{
+}
+
+String
+Layer_Group::get_local_name()const
+{
+	String s = Layer_PasteCanvas::get_local_name();
+	return s.empty() ? _("Group") : '[' + s + ']';
+}
+
+Layer::Vocab
+Layer_Group::get_param_vocab()const
+{
+	Layer::Vocab ret(Layer_PasteCanvas::get_param_vocab());
+
+	ret.push_back(ParamDesc("z_range")
+		.set_local_name(_("Z Range"))
+		.set_description(_("When checked, only layers inside range are visible"))
+		.set_static(true)
+	);
+	ret.push_back(ParamDesc("z_range_position")
+		.set_local_name(_("Z Range Position"))
+		.set_description(_("Starting position where layers are visible"))
+	);
+	ret.push_back(ParamDesc("z_range_depth")
+		.set_local_name(_("Z Range Depth"))
+		.set_description(_("Depth where layers are visible in range"))
+	);
+	ret.push_back(ParamDesc("z_range_blur")
+		.set_local_name(_("Z Range Blur"))
+		.set_description(_("Area where layers inside are partially visible"))
+	);
+
+	return ret;
+}
+
+bool
+Layer_Group::set_param(const String & param, const ValueBase &value)
+{
+	IMPORT_VALUE(param_z_range);
+	IMPORT_VALUE(param_z_range_position);
+	IMPORT_VALUE(param_z_range_depth);
+	IMPORT_VALUE(param_z_range_blur);
+	return Layer_PasteCanvas::set_param(param,value);
+}
+
+ValueBase
+Layer_Group::get_param(const String& param)const
+{
+	EXPORT_VALUE(param_z_range);
+	EXPORT_VALUE(param_z_range_position);
+	EXPORT_VALUE(param_z_range_depth);
+	EXPORT_VALUE(param_z_range_blur);
+
+	EXPORT_NAME();
+	EXPORT_VERSION();
+
+	return Layer_PasteCanvas::get_param(param);
+}
+
+
+void
+Layer_Group::apply_z_range_to_params(ContextParams &cp)const
+{
+	if (optimized()) return; // z_range already applied while optimizxation
+
+	cp.z_range=param_z_range.get(bool());
+	cp.z_range_position=param_z_range_position.get(Real());
+	cp.z_range_depth=param_z_range_depth.get(Real());
+	cp.z_range_blur=param_z_range_blur.get(Real());
+}
diff --git a/src/synfig/layer_solidcolor.h b/src/synfig/layer_group.h
similarity index 55%
copy from src/synfig/layer_solidcolor.h
copy to src/synfig/layer_group.h
index 5578788..ddc8ad1 100644
--- a/src/synfig/layer_solidcolor.h
+++ b/src/synfig/layer_group.h
@@ -1,12 +1,14 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file layer_solidcolor.h
-**	\brief Header file for implementation of the "Solid Color" layer
+/*!	\file layer_group.h
+**	\brief Header file for implementation of the "Group" layer
 **
 **	$Id$
 **
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2007, 2008 Chris Moore
 **	Copyright (c) 2012-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,13 +25,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_LAYER_SOLIDCOLOR_H
-#define __SYNFIG_LAYER_SOLIDCOLOR_H
+#ifndef __SYNFIG_LAYER_GROUP_H
+#define __SYNFIG_LAYER_GROUP_H
 
 /* === H E A D E R S ======================================================= */
 
-#include "layer_composite.h"
-#include "color.h"
+#include "layer_pastecanvas.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -38,33 +39,41 @@
 /* === C L A S S E S & S T R U C T S ======================================= */
 
 namespace synfig {
-
-class Layer_SolidColor : public Layer_Composite, public Layer_NoDeform
+/*!	\class Layer_Group
+**	\brief Class of the Group layer.
+*/
+class Layer_Group : public Layer_PasteCanvas
 {
+	//! Layer module: defines the needed members to belong to a layer's factory.
 	SYNFIG_LAYER_MODULE_EXT
-
 private:
-
-	//!Parameter: (Color) color of the solid
-	ValueBase param_color;
+	//! Parameter: (bool) Z_Depth Range is active
+	ValueBase param_z_range;
+	//! Parameter: (Real) Z_Depth Range position
+	ValueBase param_z_range_position;
+	//! Parameter: (Real) Z_Depth Range depth
+	ValueBase param_z_range_depth;
+	//! Parameter: (Real) Z_Depth Range transition
+	ValueBase param_z_range_blur;
 
 public:
-
-	Layer_SolidColor();
-
+	//! Default constructor
+	Layer_Group();
+	//! Destructor
+	virtual ~Layer_Group();
+	//! Returns a string with the localized name of this layer
+	virtual String get_local_name()const;
+
+	//!	Sets the parameter described by \a param to \a value. \see Layer::set_param
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
-
+	//! Get the value of the specified parameter. \see Layer::get_param
 	virtual ValueBase get_param(const String & param)const;
-
-	virtual Color get_color(Context context, const Point &pos)const;
-
-	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	//! Gets the parameter vocabulary
 	virtual Vocab get_param_vocab()const;
 
-	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
-
-}; // END of class Layer_SolidColor
+	//! Sets z_range* fields of specified ContextParams \a cp
+	virtual void apply_z_range_to_params(ContextParams &cp)const;
+}; // END of class Layer_Group
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/layer_meshtransform.cpp b/src/synfig/layer_meshtransform.cpp
new file mode 100644
index 0000000..5874dea
--- /dev/null
+++ b/src/synfig/layer_meshtransform.cpp
@@ -0,0 +1,292 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_meshtransform.cpp
+**	\brief Implementation of the "MeshTransform" layer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "layer_meshtransform.h"
+#include "renderersoftware.h"
+#include <algorithm>
+#include <cmath>
+#include <climits>
+#include "transform.h"
+#include "context.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S ======================================================= */
+
+class synfig::Mesh_Trans : public Transform
+{
+	etl::handle<const Layer_MeshTransform> layer;
+public:
+	Mesh_Trans(const Layer_MeshTransform* x):Transform(x->get_guid()),layer(x) { }
+
+	synfig::Vector perform(const synfig::Vector& x)const
+	{
+		Vector v(INFINITY, INFINITY);
+		layer->mesh.transform_coord_texture_to_world(x, v);
+		return v;
+	}
+
+	synfig::Vector unperform(const synfig::Vector& x)const
+	{
+		Vector v(INFINITY, INFINITY);
+		layer->mesh.transform_coord_world_to_texture(x, v);
+		return v;
+	}
+
+	synfig::String get_string()const
+	{
+		return "mesh";
+	}
+};
+
+/* === G L O B A L S ======================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+Layer_MeshTransform::Layer_MeshTransform():
+	max_texture_size(4096),
+	max_texture_scale(INFINITY),
+	world_bounds(Rect::zero()),
+	texture_bounds(Rect::zero())
+{
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+Layer_MeshTransform::~Layer_MeshTransform()
+{
+}
+
+void
+Layer_MeshTransform::update_mesh_and_mask()
+{
+	// TODO: check mask to calculate bounds
+
+	texture_scale_dependency_from_x = Vector::zero();
+	texture_scale_dependency_from_y = Vector::zero();
+
+	if (mesh.vertices.empty())
+	{
+		world_bounds = Rect::zero();
+		texture_bounds = Rect::zero();
+	}
+	else
+	{
+		Mesh::VertexList::const_iterator i = mesh.vertices.begin();
+		world_bounds.set_point(i->position);
+		texture_bounds.set_point(i->tex_coords);
+		for(++i; i != mesh.vertices.end(); ++i)
+		{
+			world_bounds.expand(i->position);
+			texture_bounds.expand(i->position);
+		}
+
+		const Real epsilon = 1e-10;
+		for(Mesh::TriangleList::const_iterator i = mesh.triangles.begin(); i != mesh.triangles.end(); ++i)
+		{
+			for(int j = 0; j < 3; ++j)
+			{
+				const Mesh::Vertex &v0 = mesh.vertices[i->vertices[j]];
+				const Mesh::Vertex &v1 = mesh.vertices[i->vertices[(j+1)%3]];
+				Vector wd( fabs(v1.position[0] - v0.position[0]),
+						   fabs(v1.position[1] - v0.position[1]) );
+				Vector td( fabs(v1.tex_coords[0] - v0.tex_coords[0]),
+						   fabs(v1.tex_coords[1] - v0.tex_coords[1]) );
+				if (td[0] > epsilon)
+				{
+					Vector dep(wd[0]/td[0], wd[1]/td[0]);
+					if (dep[0] > texture_scale_dependency_from_x[0])
+						texture_scale_dependency_from_x[0] = dep[0];
+					if (dep[1] > texture_scale_dependency_from_y[0])
+						texture_scale_dependency_from_y[0] = dep[1];
+				}
+				if (td[1] > epsilon)
+				{
+					Vector dep(wd[0]/td[1], wd[1]/td[1]);
+					if (dep[0] > texture_scale_dependency_from_x[1])
+						texture_scale_dependency_from_x[1] = dep[0];
+					if (dep[1] > texture_scale_dependency_from_y[1])
+						texture_scale_dependency_from_y[1] = dep[1];
+				}
+			}
+		}
+
+		if (max_texture_scale > 0.0)
+		{
+			if (texture_scale_dependency_from_x[0] > max_texture_scale)
+				texture_scale_dependency_from_x[0] = max_texture_scale;
+			if (texture_scale_dependency_from_x[1] > max_texture_scale)
+				texture_scale_dependency_from_x[1] = max_texture_scale;
+			if (texture_scale_dependency_from_y[0] > max_texture_scale)
+				texture_scale_dependency_from_y[0] = max_texture_scale;
+			if (texture_scale_dependency_from_y[1] > max_texture_scale)
+				texture_scale_dependency_from_y[1] = max_texture_scale;
+		}
+	}
+}
+
+Layer::Handle
+Layer_MeshTransform::hit_check(synfig::Context context, const synfig::Point &point)const
+{
+	// TODO: check mask
+	Vector v;
+	return mesh.transform_coord_world_to_texture(point, v)
+		 ? context.hit_check(v)
+		 : Layer::Handle();
+}
+
+Color
+Layer_MeshTransform::get_color(Context context, const Point &pos)const
+{
+	// TODO: check mask
+	Vector v;
+	return mesh.transform_coord_world_to_texture(pos, v)
+		 ? context.get_color(v)
+		 : Color();
+}
+
+Rect
+Layer_MeshTransform::get_full_bounding_rect(Context /* context */)const
+{
+	return world_bounds;
+}
+
+etl::handle<synfig::Transform>
+Layer_MeshTransform::get_transform()const
+{
+	return new Mesh_Trans(this);
+}
+
+bool
+Layer_MeshTransform::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	const Real epsilon = 1e-10;
+
+	// initialize surface
+	surface->set_wh(renddesc.get_w(),renddesc.get_h());
+	surface->clear();
+
+	// calculate texture size
+	RendDesc texture_renddesc(renddesc);
+	texture_renddesc.set_transformation_matrix(Matrix());
+	texture_renddesc.set_tl(texture_bounds.get_min());
+	texture_renddesc.set_br(texture_bounds.get_max());
+	{
+		int texture_width, texture_height;
+		Real pw = fabs(renddesc.get_pw());
+		Real ph = fabs(renddesc.get_ph());
+		if (pw < epsilon || pw < epsilon) return true;
+		pw = 1.0/pw;
+		ph = 1.0/ph;
+		Vector texture_size = texture_bounds.get_max() - texture_bounds.get_min();
+		Real texture_pw = std::max(
+			texture_scale_dependency_from_x[0]*pw,
+			texture_scale_dependency_from_y[0]*ph );
+		Real texture_ph = std::max(
+			texture_scale_dependency_from_x[1]*pw,
+			texture_scale_dependency_from_y[1]*ph );
+		texture_width = std::max(1, (int)roundf(texture_pw*texture_size[0]));
+		texture_height = std::max(1, (int)roundf(texture_ph*texture_size[1]));
+		if (max_texture_size > 0)
+		{
+			if (texture_width > max_texture_size) texture_width = max_texture_size;
+			if (texture_height > max_texture_size) texture_height = max_texture_size;
+		}
+		texture_renddesc.set_w(texture_width);
+		texture_renddesc.set_h(texture_height);
+	}
+
+	// render texture
+	Surface texture;
+	if(!context.accelerated_render(&texture,quality,texture_renddesc,cb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
+		return false;
+	}
+
+	{ // render mask
+		Surface maskSurface;
+		maskSurface.set_wh(texture.get_w(), texture.get_h());
+		maskSurface.fill(Color::alpha());
+		RendererSoftware::render_polygon(
+			maskSurface,
+			mask,
+			texture_renddesc.get_transformation_matrix()
+		  * texture_renddesc.get_world_to_pixels_matrix(),
+			Color::white(),
+			Color::BLEND_COMPOSITE );
+
+		// apply mask
+		Surface::pen a(texture.get_pen(0, 0));
+		Surface::pen b(maskSurface.get_pen(0, 0));
+		for(int i = 0; i < texture.get_h(); ++i)
+		{
+			for(int j = 0; j < texture.get_w(); ++j)
+			{
+				a.put_value(a.get_value()*b.get_value().get_a());
+				a.inc_x();
+				b.inc_x();
+			}
+			a.dec_x(texture.get_w());
+			b.dec_x(texture.get_w());
+			a.inc_y();
+			b.inc_y();
+		}
+	}
+
+	// prepare transformation matrices
+	Matrix world_to_pixels_matrix =
+		renddesc.get_transformation_matrix()
+	  * renddesc.get_world_to_pixels_matrix();
+	Matrix texture_to_texels_matrix =
+		texture_renddesc.get_world_to_pixels_matrix();
+
+	// render mesh
+	RendererSoftware::render_mesh(
+		*surface,
+		mesh,
+		texture,
+		world_to_pixels_matrix,
+		texture_to_texels_matrix,
+		1.0,
+		Color::BLEND_COMPOSITE
+	);
+
+	return true;
+}
diff --git a/src/modules/lyr_std/zoom.h b/src/synfig/layer_meshtransform.h
similarity index 62%
copy from src/modules/lyr_std/zoom.h
copy to src/synfig/layer_meshtransform.h
index 1752edc..783165f 100644
--- a/src/modules/lyr_std/zoom.h
+++ b/src/synfig/layer_meshtransform.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file zoom.h
-**	\brief Header file for implementation of the "Zoom" layer
+/*!	\file layer_meshtransform.h
+**	\brief Header file for implementation of the "MeshTransform" layer
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2012-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,13 +22,14 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_ZOOM_H
-#define __SYNFIG_ZOOM_H
+#ifndef __SYNFIG_LAYER_MESHTRANSFORM_H
+#define __SYNFIG_LAYER_MESHTRANSFORM_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <synfig/layer.h>
-#include <synfig/vector.h>
+#include "layer_composite.h"
+#include "mesh.h"
+#include "polygon.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -37,35 +37,41 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-using namespace synfig;
-using namespace std;
-using namespace etl;
+namespace synfig {
+class Mesh_Trans;
+class Layer_MeshTransform : public Layer_Composite
+{
+protected:
+	friend class Mesh_Trans;
+	Mesh mesh;
+	Polygon mask;
 
-class Zoom_Trans;
+	int max_texture_size;
+	Real max_texture_scale;
 
-class Zoom : public Layer
-{
-	SYNFIG_LAYER_MODULE_EXT
-	friend class Zoom_Trans;
 private:
-	//! Parameter: (Vector)
-	ValueBase param_center;
-	//!Parameter: (Real)
-	ValueBase param_amount;
+	Vector texture_scale_dependency_from_x;
+	Vector texture_scale_dependency_from_y;
+	Rect world_bounds;
+	Rect texture_bounds;
+
+protected:
+	void update_mesh_and_mask();
+
 public:
-	Zoom();
+	//! Default constructor
+	Layer_MeshTransform();
+	//! Destructor
+	virtual ~Layer_MeshTransform();
 
-	virtual bool set_param(const String & param, const synfig::ValueBase &value);
-	virtual ValueBase get_param(const String & param)const;
-	virtual Color get_color(Context context, const Point &pos)const;
-	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
-	virtual Vocab get_param_vocab()const;
-	virtual synfig::Rect get_full_bounding_rect(synfig::Context context)const;
+	virtual Color get_color(Context context, const Point &pos)const;
+	virtual Rect get_full_bounding_rect(Context context)const;
 	virtual etl::handle<synfig::Transform> get_transform()const;
+	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+}; // END of class Layer_MeshTransform
 
-};
+}; // END of namespace synfig
 
 /* === E N D =============================================================== */
 
diff --git a/src/synfig/layer_mime.cpp b/src/synfig/layer_mime.cpp
index 5524fc2..3998c8f 100644
--- a/src/synfig/layer_mime.cpp
+++ b/src/synfig/layer_mime.cpp
@@ -65,7 +65,7 @@ using namespace synfig;
 Layer_Mime::Layer_Mime(String x):name(x)
 {
 	// Throw a bogus default version onto the parameter list.
-	param_list["Version"]="9";
+	param_list["Version"]=(const char*)"9";
 }
 
 String
diff --git a/src/synfig/layer_motionblur.cpp b/src/synfig/layer_motionblur.cpp
index 17397c9..435a7a0 100644
--- a/src/synfig/layer_motionblur.cpp
+++ b/src/synfig/layer_motionblur.cpp
@@ -64,7 +64,7 @@ Layer_MotionBlur::Layer_MotionBlur():
 	Layer_Composite         (1.0,Color::BLEND_STRAIGHT),
 	param_aperture          (ValueBase(Time(0))),
 	param_subsamples_factor (ValueBase(Real(1.0))),
-	param_subsampling_type  (ValueBase(SUBSAMPLING_HYPERBOLIC)),
+	param_subsampling_type  (ValueBase(int(SUBSAMPLING_HYPERBOLIC))),
 	param_subsample_start   (ValueBase(Real(0.0))),
 	param_subsample_end     (ValueBase(Real(1.0)))
 {
@@ -166,9 +166,11 @@ Layer_MotionBlur::get_param_vocab()const
 bool
 Layer_MotionBlur::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	RENDER_TRANSFORMED_IF_NEED(__FILE__, __LINE__)
+
 	Time aperture=param_aperture.get(Time());
 	Real subsamples_factor=param_subsamples_factor.get(Real());
-	SubsamplingType subsampling_type=param_subsampling_type.get(SUBSAMPLING_LINEAR);
+	SubsamplingType subsampling_type=(SubsamplingType)param_subsampling_type.get(int());
 	Real subsample_start=param_subsample_start.get(Real());
 	Real subsample_end=param_subsample_end.get(Real());
 	
diff --git a/src/synfig/layer_pastecanvas.cpp b/src/synfig/layer_pastecanvas.cpp
index 4fb0de0..cde910d 100644
--- a/src/synfig/layer_pastecanvas.cpp
+++ b/src/synfig/layer_pastecanvas.cpp
@@ -8,6 +8,7 @@
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
 **	Copyright (c) 2011-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -75,19 +76,11 @@ public:
 
 /* === G L O B A L S ======================================================= */
 
-SYNFIG_LAYER_INIT(Layer_PasteCanvas);
-SYNFIG_LAYER_SET_NAME(Layer_PasteCanvas,"PasteCanvas"); // todo: use paste_canvas
-SYNFIG_LAYER_SET_LOCAL_NAME(Layer_PasteCanvas,N_("Group"));
-SYNFIG_LAYER_SET_CATEGORY(Layer_PasteCanvas,N_("Other"));
-SYNFIG_LAYER_SET_VERSION(Layer_PasteCanvas,"0.1");
-SYNFIG_LAYER_SET_CVS_ID(Layer_PasteCanvas,"$Id$");
-
 /* === M E T H O D S ======================================================= */
 
 Layer_PasteCanvas::Layer_PasteCanvas():
-	param_origin      (Vector(0,0)),
-	param_focus       (Vector(0,0)),
-	param_zoom        (Real(0)),
+	param_origin(Point()),
+	param_transformation(Transformation()),
 	param_time_offset (Time(0)),
 	depth(0),
 	extra_reference(false)
@@ -120,11 +113,9 @@ Layer_PasteCanvas::~Layer_PasteCanvas()
 String
 Layer_PasteCanvas::get_local_name()const
 {
-	if(!canvas)	return _("Group");
-	if(canvas->is_inline()) return _("Group");
-	if(canvas->get_root()==get_canvas()->get_root()) return '[' + canvas->get_id() + ']';
-
-	return '[' + canvas->get_file_name() + ']';
+	if(!canvas || canvas->is_inline()) return String();
+	if(canvas->get_root()==get_canvas()->get_root()) return canvas->get_id();
+	return canvas->get_file_name();
 }
 
 Layer::Vocab
@@ -134,18 +125,18 @@ Layer_PasteCanvas::get_param_vocab()const
 
 	ret.push_back(ParamDesc("origin")
 		.set_local_name(_("Origin"))
-		.set_description(_("Point where you want the origin to be"))
+		.set_description(_("Position offset"))
+	);
+	
+	ret.push_back(ParamDesc("transformation")
+		.set_local_name(_("Transformation"))
+		.set_description(_("Position, rotation, skew and scale"))
 	);
+
 	ret.push_back(ParamDesc("canvas")
 		.set_local_name(_("Canvas"))
 		.set_description(_("Group content"))
 	);
-	ret.push_back(ParamDesc("zoom")
-		.set_local_name(_("Zoom"))
-		.set_description(_("Size of canvas"))
-		.set_origin("origin")
-		.set_exponential()
-	);
 
 	ret.push_back(ParamDesc("time_offset")
 		.set_local_name(_("Time Offset"))
@@ -153,24 +144,15 @@ Layer_PasteCanvas::get_param_vocab()const
 	);
 
 	ret.push_back(ParamDesc("children_lock")
-		.set_local_name(_("Children Lock"))
+		.set_local_name(_("Lock Selection"))
 		.set_description(_("When checked prevents to select the children using the mouse click"))
 		.set_static(true)
 	);
 
-	ret.push_back(ParamDesc("focus")
-		.set_local_name(_("Focus Point"))
-		.set_origin("origin")
-		.set_connect("origin")
-		.set_description(_("Point to remain fixed when zooming"))
-	//	.set_invisible_duck()
-	);
-
 	ret.push_back(ParamDesc("outline_grow")
 		.set_local_name(_("Outline Grow"))
 		.set_description(_("Exponential value to grow children Outline layers width"))
 	);
-
 	if(canvas && !(canvas->is_inline()))
 	{
 		ret.back().hidden();
@@ -195,10 +177,10 @@ bool
 Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
 {
 	IMPORT_VALUE(param_origin);
-	IMPORT_VALUE(param_focus);
+	IMPORT_VALUE(param_transformation);
 
 	// IMPORT(canvas);
-	if(param=="canvas" && value.same_type_as(Canvas::Handle()))
+	if(param=="canvas" && value.can_get(Canvas::Handle()))
 	{
 		set_sub_canvas(value.get(Canvas::Handle()));
 		return true;
@@ -226,7 +208,6 @@ Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
 #endif
 
 	IMPORT_VALUE(param_children_lock);
-	IMPORT_VALUE(param_zoom);
 	IMPORT_VALUE(param_outline_grow);
 	IMPORT_VALUE(param_curr_time);
 	return Layer_Composite::set_param(param,value);
@@ -304,21 +285,17 @@ ValueBase
 Layer_PasteCanvas::get_param(const String& param)const
 {
 	EXPORT_VALUE(param_origin);
-	EXPORT_VALUE(param_focus);
+	EXPORT_VALUE(param_transformation);
 	if (param=="canvas")
 	{
 		synfig::ValueBase ret(canvas);
 		return ret;
 	}
-	EXPORT_VALUE(param_zoom);
 	EXPORT_VALUE(param_time_offset);
 	EXPORT_VALUE(param_children_lock);
 	EXPORT_VALUE(param_curr_time);
 	EXPORT_VALUE(param_outline_grow);
 
-	EXPORT_NAME();
-	EXPORT_VERSION();
-
 	return Layer_Composite::get_param(param);
 }
 
@@ -335,24 +312,29 @@ Layer_PasteCanvas::set_time(IndependentContext context, Time time)const
 		canvas->set_time(time+time_offset);
 }
 
+void
+Layer_PasteCanvas::apply_z_range_to_params(ContextParams &/*cp*/)const
+{
+}
+
 synfig::Layer::Handle
 Layer_PasteCanvas::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
 	if(depth==MAX_DEPTH)return 0;depth_counter counter(depth);
 
-	Vector origin=param_origin.get(Vector());
-	Vector focus=param_focus.get(Vector());
-	Real zoom=param_zoom.get(Real());
+	Transformation transformation(get_summary_transformation());
+
 	bool children_lock=param_children_lock.get(bool(true));
-	
+	ContextParams cp(context.get_params());
+	apply_z_range_to_params(cp);
 	if (canvas) {
-		Point target_pos=(pos-focus-origin)/exp(zoom)+focus;
+		Point target_pos = transformation.back_transform(pos);
 
-		if(canvas && get_amount() && canvas->get_context(context).get_color(target_pos).get_a()>=0.25)
+		if(canvas && get_amount() && canvas->get_context(cp).get_color(target_pos).get_a()>=0.25)
 		{
 			if(!children_lock)
 			{
-				return canvas->get_context(context).hit_check(target_pos);
+				return canvas->get_context(cp).hit_check(target_pos);
 			}
 			return const_cast<Layer_PasteCanvas*>(this);
 		}
@@ -363,29 +345,33 @@ Layer_PasteCanvas::hit_check(synfig::Context context, const synfig::Point &pos)c
 Color
 Layer_PasteCanvas::get_color(Context context, const Point &pos)const
 {
-	Vector origin=param_origin.get(Vector());
-	Vector focus=param_focus.get(Vector());
-	Real zoom=param_zoom.get(Real());
-	
+	Transformation transformation(get_summary_transformation());
+
+	ContextParams cp(context.get_params());
+	apply_z_range_to_params(cp);
 	if(!canvas || !get_amount())
 		return context.get_color(pos);
 
 	if(depth==MAX_DEPTH)return Color::alpha();depth_counter counter(depth);
 
-	Point target_pos=(pos-focus-origin)/exp(zoom)+focus;
+	Point target_pos = transformation.back_transform(pos);
 
-	return Color::blend(canvas->get_context(context).get_color(target_pos),context.get_color(pos),get_amount(),get_blend_method());
+	return Color::blend(canvas->get_context(cp).get_color(target_pos),context.get_color(pos),get_amount(),get_blend_method());
 }
 
 Rect
 Layer_PasteCanvas::get_bounding_rect_context_dependent(const ContextParams &context_params)const
 {
-	Vector origin=param_origin.get(Vector());
-	Vector focus=param_focus.get(Vector());
-	Real zoom=param_zoom.get(Real());
-	return canvas
-		 ? (canvas->get_context(context_params).get_full_bounding_rect()-focus)*exp(zoom)+origin+focus
-		 : Rect::zero();
+	if (canvas)
+	{
+		ContextParams cp(context_params);
+		apply_z_range_to_params(cp);
+
+		return get_summary_transformation()
+			.transform_bounds(
+				canvas->get_context(cp).get_full_bounding_rect() );
+	}
+	return Rect::zero();
 }
 
 Rect
@@ -400,13 +386,14 @@ Layer_PasteCanvas::get_full_bounding_rect(Context context)const
 bool
 Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	Vector origin=param_origin.get(Vector());
-	Vector focus=param_focus.get(Vector());
-	Real zoom=param_zoom.get(Real());
+	Transformation transformation(
+		get_summary_transformation().get_matrix()
+	  * renddesc.get_transformation_matrix() );
+
 	Real outline_grow=param_outline_grow.get(Real());
 	Time time_offset=param_time_offset.get(Time());
 	Time curr_time=param_curr_time.get(Time());
-	
+
 	if(cb && !cb->amount_complete(0,10000)) return false;
 
 	if(depth==MAX_DEPTH)
@@ -423,19 +410,17 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 	SuperCallback stagetwo(cb,4500,9000,10000);
 	SuperCallback stagethree(cb,9000,9999,10000);
 
-	RendDesc desc(renddesc);
-	Vector::value_type zoomfactor=1.0/exp(zoom);
-	desc.clear_flags();
-	desc.set_tl((desc.get_tl()-focus-origin)*zoomfactor+focus);
-	desc.set_br((desc.get_br()-focus-origin)*zoomfactor+focus);
-	desc.set_flags(RendDesc::PX_ASPECT);
+	Context canvasContext = canvas->get_context(context);
 
-	if (is_solid_color() || context->empty())
+	if (is_solid_color())
 	{
-		surface->set_wh(renddesc.get_w(),renddesc.get_h());
-		surface->clear();
+		RendDesc intermediate_desc(renddesc);
+		intermediate_desc.clear_flags();
+		intermediate_desc.set_transformation_matrix(transformation.get_matrix());
+		return canvasContext.accelerated_render(surface,quality,intermediate_desc,&stagetwo);
 	}
-	else if (!context.accelerated_render(surface,quality,renddesc,&stageone))
+	else
+	if (!context.accelerated_render(surface,quality,renddesc,&stageone))
 		return false;
 
 	Real grow_value(get_parent_canvas_grow_value());
@@ -443,11 +428,21 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 
 	if(muck_with_time_ && curr_time!=Time::begin() /*&& canvas->get_time()!=curr_time+time_offset*/)
 		canvas->set_time(curr_time+time_offset);
-		
+
 	Color::BlendMethod blend_method(get_blend_method());
-	const Rect full_bounding_rect(canvas->get_context(context).get_full_bounding_rect());
+	const Rect full_bounding_rect(canvasContext.get_full_bounding_rect());
 
-	bool blend_using_straight = false; // use 'straight' just for the central blit
+	Rect inner_bounds(
+	    full_bounding_rect.get_min(),
+	    full_bounding_rect.get_max()
+	);
+	inner_bounds &= transformation.back_transform_bounds(renddesc.get_rect());
+	Rect outer_bounds(transformation.transform_bounds(inner_bounds));
+	outer_bounds &= renddesc.get_rect();
+	if (!outer_bounds.is_valid())
+		return true;
+	
+	Rect next_bounds( Transformation::transform_bounds(renddesc.get_transformation_matrix(), context.get_full_bounding_rect()) );
 
 	// sometimes the user changes the parameters while we're
 	// rendering, causing our pasted canvas' bounding box to shrink
@@ -461,25 +456,15 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 	//   error: Context::accelerated_render(): Layer "shade" threw a bad_alloc exception!
 	// where the shade layer tries to allocate itself a canvas of
 	// negative proportions, due to changing bounding boxes.
-	if (!etl::intersect(desc.get_rect(), full_bounding_rect))
+	if (!inner_bounds.is_valid())
 	{
 		warning("%s:%d bounding box shrank while rendering?", __FILE__, __LINE__);
 		return true;
 	}
 
-	// we have rendered what's under us, if necessary
-	if(context->empty())
-	{
-		// if there's nothing under us, and we're blending 'onto', then we've finished
-		if (Color::is_onto(blend_method)) return true;
-
-		// there's nothing under us, so using straight blending is
-		// faster than and equivalent to using composite, but we don't
-		// want to blank the surrounding areas
-		if (blend_method==Color::BLEND_COMPOSITE) blend_using_straight = true;
-	}
+	bool blend_using_straight = false; // use 'straight' just for the central blit
 
-	if (!etl::intersect(context.get_full_bounding_rect(),(full_bounding_rect-focus)*exp(zoom)+origin+focus))
+	if (!etl::intersect(next_bounds,outer_bounds))
 	{
 		// if there's no intersection between the context and our
 		// surface, and we're rendering 'onto', then we're done
@@ -501,101 +486,52 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 #endif	// SYNFIG_CLIP_PASTECANVAS
 	}
 
-#ifdef SYNFIG_CLIP_PASTECANVAS
-	Rect area(desc.get_rect() & full_bounding_rect);
-
-	Point min(area.get_min());
-	Point max(area.get_max());
-
-	if (desc.get_tl()[0] > desc.get_br()[0]) swap(min[0], max[0]);
-	if (desc.get_tl()[1] > desc.get_br()[1]) swap(min[1], max[1]);
-
-	const int x(floor_to_int((min[0] - desc.get_tl()[0]) / desc.get_pw()));
-	const int y(floor_to_int((min[1] - desc.get_tl()[1]) / desc.get_ph()));
-	const int w( ceil_to_int((max[0] - desc.get_tl()[0]) / desc.get_pw()) - x);
-	const int h( ceil_to_int((max[1] - desc.get_tl()[1]) / desc.get_ph()) - y);
-
-	const int tw = desc.get_w();
-	const int th = desc.get_h();
-
-	desc.set_subwindow(x,y,w,h);
-
-	// \todo this used to also have "area.area()<=0.000001 || " - is it useful?
-	//		 it was causing bug #1809480 (Zoom in beyond 8.75 in nested canvases fails)
-	if(desc.get_w()==0 || desc.get_h()==0)
-	{
-		if(cb && !cb->amount_complete(10000,10000)) return false;
-		return true;
-	}
-
-	// SYNFIG_CLIP_PASTECANVAS is defined, so we are only touching the
-	// pixels within the affected rectangle.  If the blend method is
-	// 'straight', then we need to blend transparent pixels with the
-	// clipped areas of this tile, because with the 'straight' blend
-	// method, even transparent pixels have an effect on the layers below
-	if (Color::is_straight(blend_method))
-	{
-		Surface clearsurface;
-
-		Surface::alpha_pen apen(surface->begin());
+	int w = renddesc.get_w();
+	int h = renddesc.get_h();
+	Vector tl = renddesc.get_tl();
+	Vector br = renddesc.get_br();
+	Vector size = br - tl;
+	Real rx0 = (outer_bounds.minx - tl[0])/size[0]*w;
+	Real rx1 = (outer_bounds.maxx - tl[0])/size[0]*w;
+	Real ry0 = (outer_bounds.miny - tl[1])/size[1]*h;
+	Real ry1 = (outer_bounds.maxy - tl[1])/size[1]*h;
+	if (rx1 < rx0) { Real rx = rx0; rx0 = rx1; rx1 = rx; }
+	if (ry1 < ry0) { Real ry = ry0; ry0 = ry1; ry1 = ry; }
+	int x0((floor(rx0)));
+	int x1((ceil(rx1)));
+	int y0((floor(ry0)));
+	int y1((ceil(ry1)));
+
+	if (x0 < 0) x0 = 0; else if (x0 > w) x0 = w;
+	if (x1 < 0) x1 = 0; else if (x1 > w) x1 = w;
+	if (y0 < 0) y0 = 0; else if (y0 > h) y0 = h;
+	if (y1 < 0) y1 = 0; else if (y1 > h) y1 = h;
+	int intermediate_w = x1 - x0;
+	int intermediate_h = y1 - y0;
+	Vector pixel_aligned_tl(
+		(Real)x0/(Real)w*size[0] + tl[0],
+		(Real)y0/(Real)h*size[1] + tl[1] );
+	Vector pixel_aligned_br(
+		(Real)x1/(Real)w*size[0] + tl[0],
+		(Real)y1/(Real)h*size[1] + tl[1] );
+
+	if (intermediate_w > 0 && intermediate_h > 0) {
+		RendDesc intermediate_desc(renddesc);
+		intermediate_desc.clear_flags();
+		intermediate_desc.set_transformation_matrix(transformation.get_matrix());
+		intermediate_desc.set_wh(intermediate_w, intermediate_h);
+		intermediate_desc.set_tl(pixel_aligned_tl);
+		intermediate_desc.set_br(pixel_aligned_br);
+		Surface intermediate_surface;
+		if(!canvasContext.accelerated_render(&intermediate_surface,quality,intermediate_desc,&stagetwo))
+			return false;
+		Surface::alpha_pen apen(surface->get_pen(x0, y0));
 		apen.set_alpha(get_amount());
-
-		// the area we're about to blit is transparent, so it doesn't
-		// matter whether we use 'straight' or 'straight onto' here
-		if (blend_method == Color::BLEND_ALPHA_BRIGHTEN)
-			apen.set_blend_method(blend_method);
-		else
-			apen.set_blend_method(Color::BLEND_STRAIGHT);
-
-		/* This represents the area we're pasting into the tile,
-		 * within the tile as a whole.	Areas (A), (B), (C) and (D)
-		 * need blending with the underlying context if they're not
-		 * zero-sized:
-		 *
-		 *		 0	   x		 x+w	  tw
-		 *	 0	 +------------------------+
-		 *		 |						  |
-		 *		 |			(A)			  |
-		 *		 |						  |
-		 *	 y	 | - - +----------+ - - - |
-		 *		 |	   |		  |		  |
-		 *		 | (C) |  w by h  |	 (D)  |
-		 *		 |	   |		  |		  |
-		 *	 y+h | - - +----------+ - - - |
-		 *		 |						  |
-		 *		 |			(B)			  |
-		 *		 |						  |
-		 *	 tw	 +------------------------+
-		 */
-
-		if (y > 0)				// draw the full-width strip above the rectangle (A)
-		{ apen.move_to(0,0);   clearsurface.set_wh(tw,y);        clearsurface.clear(); clearsurface.blit_to(apen); }
-		if (y+h < th)			// draw the full-width strip below the rectangle (B)
-		{ apen.move_to(0,y+h); clearsurface.set_wh(tw,th-(y+h)); clearsurface.clear(); clearsurface.blit_to(apen); }
-		if (x > 0)				// draw the box directly left of the rectangle (C)
-		{ apen.move_to(0,y);   clearsurface.set_wh(x,h);         clearsurface.clear(); clearsurface.blit_to(apen); }
-		if (x+w < tw)			// draw the box directly right of the rectangle (D)
-		{ apen.move_to(x+w,y); clearsurface.set_wh(tw-(x+w),h);  clearsurface.clear(); clearsurface.blit_to(apen); }
+		apen.set_blend_method(blend_using_straight ? Color::BLEND_STRAIGHT : blend_method);
+		intermediate_surface.blit_to(apen);
 	}
-#endif	// SYNFIG_CLIP_PASTECANVAS
-
-	// render the canvas to be pasted onto pastesurface
-	Surface pastesurface;
-	if(!canvas->get_context(context).accelerated_render(&pastesurface,quality,desc,&stagetwo))
-		return false;
-
-#ifdef SYNFIG_CLIP_PASTECANVAS
-	Surface::alpha_pen apen(surface->get_pen(x,y));
-#else  // SYNFIG_CLIP_PASTECANVAS
-	Surface::alpha_pen apen(surface->begin());
-#endif	// SYNFIG_CLIP_PASTECANVAS
-
-	apen.set_alpha(get_amount());
-	apen.set_blend_method(blend_using_straight ? Color::BLEND_STRAIGHT : blend_method);
-	pastesurface.blit_to(apen);
 
 	if(cb && !cb->amount_complete(10000,10000)) return false;
-
 	return true;
 }
 
@@ -604,39 +540,38 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 bool
 Layer_PasteCanvas::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	Vector origin=param_origin.get(Vector());
-	Vector focus=param_focus.get(Vector());
-	Real zoom=param_zoom.get(Real());
+	Transformation transformation(get_summary_transformation());
+
 	Real outline_grow=param_outline_grow.get(Real());
 	Time time_offset=param_time_offset.get(Time());
 	Time curr_time=param_curr_time.get(Time());
 
 	if(cb && !cb->amount_complete(0,10000)) return false;
-	
+
 	if(depth==MAX_DEPTH)
 		// if we are at the extent of our depth,
 		// then we should just return whatever is under us.
 		return context.accelerated_cairorender(cr,quality,renddesc,cb);
-	
+
 	depth_counter counter(depth);
-	
+
 	if(!canvas || !get_amount())
 		return context.accelerated_cairorender(cr,quality,renddesc,cb);
-	
+
 	SuperCallback stageone(cb,0,4500,10000);
 	SuperCallback stagetwo(cb,4500,9000,10000);
 	SuperCallback stagethree(cb,9000,9999,10000);
-		
-	
+
+
 	Real grow_value(get_parent_canvas_grow_value());
 	canvas->set_grow_value(outline_grow+grow_value);
-	
+
 	if(muck_with_time_ && curr_time!=Time::begin() /*&& canvas->get_time()!=curr_time+time_offset*/)
 		canvas->set_time(curr_time+time_offset);
 
 	bool ret;
 	RendDesc workdesc(renddesc);
-	
+
 	// Render the background
 	ret=context.accelerated_cairorender(cr, quality, renddesc, &stagethree);
 	if(!ret)
@@ -649,17 +584,28 @@ Layer_PasteCanvas::accelerated_cairorender(Context context,cairo_t *cr, int qual
 	// apply the transformations form the current context
 	cairo_matrix_t matrix;
 	cairo_get_matrix(cr, &matrix);
+
 	// apply the transformations form the (paste canvas) group layer
 	cairo_set_matrix(subcr, &matrix);
-	cairo_translate(subcr, origin[0], origin[1]);
-	cairo_translate(subcr, focus[0], focus[1]);
-	cairo_scale(subcr, exp(zoom), exp(zoom));
-	cairo_translate(subcr, -focus[0], -focus[1]);
+
+	cairo_matrix_t cairo_transformation_matrix;
+	Matrix transformation_matrix(transformation.get_matrix());
+	cairo_matrix_init(
+		&cairo_transformation_matrix,
+		transformation_matrix.m00,
+		transformation_matrix.m01,
+		transformation_matrix.m10,
+		transformation_matrix.m11,
+		transformation_matrix.m20,
+		transformation_matrix.m21 );
+
+	cairo_transform(subcr, &cairo_transformation_matrix);
+
 	// Effectively render the canvas content
 	ret=canvas->get_context(context).accelerated_cairorender(subcr, quality, workdesc, &stagetwo);
 	// we are done apply the result to the source
 	cairo_destroy(subcr);
-	
+
 	if(!ret)
 		return false;
 	// Let's paint the result with its alpha
@@ -682,7 +628,7 @@ Layer_PasteCanvas::accelerated_cairorender(Context context,cairo_t *cr, int qual
 	cairo_surface_destroy(pastesurface);
 
 	if(cb && !cb->amount_complete(10000,10000)) return false;
-	
+
 	return true;
 }
 ///////
@@ -721,3 +667,8 @@ Layer_PasteCanvas::set_render_method(Context context, RenderMethod x)
 	context.set_render_method(x);
 }
 
+void
+Layer_PasteCanvas::fill_sound_processor(SoundProcessor &soundProcessor) const
+{
+	if (active() && canvas) canvas->fill_sound_processor(soundProcessor);
+}
diff --git a/src/synfig/layer_pastecanvas.h b/src/synfig/layer_pastecanvas.h
index 4a12364..5bfb7a7 100644
--- a/src/synfig/layer_pastecanvas.h
+++ b/src/synfig/layer_pastecanvas.h
@@ -24,8 +24,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_LAYER_PASTEIMAGE_H
-#define __SYNFIG_LAYER_PASTEIMAGE_H
+#ifndef __SYNFIG_LAYER_PASTECANVAS_H
+#define __SYNFIG_LAYER_PASTECANVAS_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -37,6 +37,7 @@
 #include "canvasbase.h"
 #include "canvas.h"
 #include "rect.h"
+#include "transformation.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -50,17 +51,13 @@ namespace synfig {
 */
 class Layer_PasteCanvas : public Layer_Composite, public Layer_NoDeform
 {
-	//! Layer module: defines the needed members to belong to a layer's factory.
-	SYNFIG_LAYER_MODULE_EXT
 private:
-	//! Parameter: (Vector) Origin of the paste canvas layer
+	//! Parameter: (Origin) Position offset
 	ValueBase param_origin;
-	//! Parameter: (Vector) Focus of the zoom of the paste canvas layer
-	ValueBase param_focus;
+	//! Parameter: (Transfromation) Position, rotation and scale of the paste canvas layer
+	ValueBase param_transformation;
 	//! Parameter: (etl::loose_handle<synfig::Canvas>) The canvas parameter
 	etl::loose_handle<synfig::Canvas> canvas;
-	//! Parameter: (Real) Zoom of the paste canvas layer
-	ValueBase param_zoom;
 	//! Parameter: (Time) Time offset of the paste canvas layer
 	ValueBase param_time_offset;
 	//! Parameter: (Real) The value to grow the children outline layers
@@ -76,7 +73,7 @@ private:
 	mutable int depth;
 
 	//! Boundaries of the paste canvas layer. It is the canvas's boundary
-	//! affected by the zoom, origin and focus.
+	//! affected by the origin and transformation.
 	mutable Rect bounds;
 	//! signal connection for children. Seems to be used only here
 	sigc::connection child_changed_connection;
@@ -144,14 +141,19 @@ public:
 	//! Sets the canvas parameter.
 	//! \see get_sub_canvas()
 	void set_sub_canvas(etl::handle<synfig::Canvas> x);
-	//! Gets zoom parameter
-	Real get_zoom()const { return param_zoom.get(Real()); }
 	//! Gets time offset parameter
 	Time get_time_offset()const { return param_time_offset.get(Time()); }
+
 	//! Get origin parameter
-	Point get_origin()const { return param_origin.get(Vector()); }
-	//! Get focus parameter
-	Vector get_focus()const { return param_focus.get(Vector()); }
+	Point get_origin()const { return param_origin.get(Point()); }
+	//! Get transformation parameter
+	Transformation get_transformation()const { return param_transformation.get(Transformation()); }
+	//! Get summary transformation
+	Transformation get_summary_transformation()const
+	{
+		return get_transformation().transform( Transformation(-get_origin()) );
+	}
+
 	//! Default constructor
 	Layer_PasteCanvas();
 	//! Destructor
@@ -162,6 +164,8 @@ public:
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	//! Get the value of the specified parameter. \see Layer::get_param
 	virtual ValueBase get_param(const String & param)const;
+	//! Sets z_range* fields of specified ContextParams \a cp
+	virtual void apply_z_range_to_params(ContextParams &cp)const;
 	//! Gets the blend color of the Layer in the context at \a pos
 	virtual Color get_color(Context context, const Point &pos)const;
 	//! Sets the time of the Paste Canvas Layer and those under it
@@ -181,6 +185,8 @@ public:
 	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual void set_render_method(Context context, RenderMethod x);
 
+	virtual void fill_sound_processor(SoundProcessor &soundProcessor) const;
+
 protected:
 	//!	Function to be overloaded that fills the Time Point Set with
 	//! all the children Time Points. In this case the children Time Points
diff --git a/src/synfig/layer_polygon.cpp b/src/synfig/layer_polygon.cpp
index e98d12f..12017e4 100644
--- a/src/synfig/layer_polygon.cpp
+++ b/src/synfig/layer_polygon.cpp
@@ -68,13 +68,13 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Polygon,"$Id$");
 
 Layer_Polygon::Layer_Polygon():
 	Layer_Shape(1.0,Color::BLEND_COMPOSITE),
-	param_vector_list(ValueBase(std::vector<Point>()))
+	param_vector_list(ValueBase(std::vector<ValueBase>()))
 {
 	std::vector<Point> vector_list;
 	vector_list.push_back(Point(0,0.5));
 	vector_list.push_back(Point(-0.333333,0));
 	vector_list.push_back(Point(0.333333,0));
-	param_vector_list.set(vector_list);
+	param_vector_list.set_list_of(vector_list);
 	sync();
 	
 	SET_INTERPOLATION_DEFAULTS();
@@ -138,25 +138,18 @@ Layer_Polygon::add_polygon(const std::vector<Point> &point_list)
 void
 Layer_Polygon::upload_polygon(const std::vector<Point> &point_list)
 {
-	std::vector<Point> vector_list(param_vector_list.get_list().begin(), param_vector_list.get_list().end());
-	
-	vector_list.clear();
-	int i,pointcount=point_list.size();
-	for(i = 0;i < pointcount; i++)
-	{
-		vector_list.push_back(point_list[i]);
-	}
+	ValueBase::List vector_list;
+	vector_list.reserve(point_list.size());
+	for(std::vector<Point>::const_iterator i = point_list.begin(); i != point_list.end(); ++i)
+		vector_list.push_back(*i);
 	param_vector_list.set(vector_list);
 }
 
 void
 Layer_Polygon::clear()
 {
-	std::vector<Point> vector_list(param_vector_list.get_list().begin(), param_vector_list.get_list().end());
-
 	Layer_Shape::clear();
-	vector_list.clear();
-	param_vector_list.set(vector_list);
+	param_vector_list.set(ValueBase::List());
 }
 
 bool
@@ -166,7 +159,7 @@ Layer_Polygon::set_param(const String & param, const ValueBase &value)
 	{
 		param_vector_list=value;
 		Layer_Shape::clear();
-		add_polygon(value);
+		add_polygon(value.get_list_of(Vector()));
 		sync();
 		return true;
 	}
diff --git a/src/synfig/layer_shape.cpp b/src/synfig/layer_shape.cpp
index e8e61be..c3d2f20 100644
--- a/src/synfig/layer_shape.cpp
+++ b/src/synfig/layer_shape.cpp
@@ -440,6 +440,7 @@ struct CurveArray
 		return sqrtb2_4ac == 0 ? 1 : 2;
 	}
 
+	/* TODO: function not finished - no return value. To remove?
 	//Newton-Raphson root polishing (we don't care about bounds, assumes very near the desired root)
 	static Real polish_cubicroot(Real a, Real b, Real c, Real d, Real t, Real *dpdt)
 	{
@@ -476,6 +477,7 @@ struct CurveArray
 			oldpmag = fabs(p);
 		}
 	}
+	*/
 
 	static int intersect_cubic(Real x, Real y, Point *p, int /*level*/ = 0)
 	{
@@ -939,7 +941,7 @@ struct PenMark
 	int y,x;
 	Real cover,area;
 
-	PenMark(){}
+	PenMark(): y(), x(), cover(), area() {}
 	PenMark(int xin, int yin, Real c, Real a)
 		:y(yin),x(xin),cover(c),area(a) {}
 
@@ -961,7 +963,7 @@ typedef rect<int> ContextRect;
 class Layer_Shape::PolySpan
 {
 public:
-	typedef	deque<PenMark> 	cover_array;
+	typedef	vector<PenMark> 	cover_array;
 
 	Point			arc[3*MAX_SUBDIVISION_SIZE + 1];
 
@@ -1018,6 +1020,8 @@ public:
 	{
 		if(current.cover || current.area)
 		{
+			if (covers.size() == covers.capacity())
+				covers.reserve(covers.size() + 1024*1024);
 			covers.push_back(current);
 		}
 	}
@@ -1132,7 +1136,7 @@ Layer_Shape::Layer_Shape(const Real &a, const Color::BlendMethod m):
 	param_antialias      (bool(true)),
 	param_blurtype       (int(Blur::FASTGAUSSIAN)),
 	param_feather        (Real(0.0)),
-	param_winding_style	 (WINDING_NON_ZERO),
+	param_winding_style	 (int(WINDING_NON_ZERO)),
 	bytestream           (0),
 	lastbyteop           (Primitive::NONE),
 	lastoppos            (-1)
@@ -2195,15 +2199,17 @@ void Layer_Shape::curve_to_smooth(Real x2, Real y2, Real x, Real y)		//x1,y1 der
 
 // ACCELERATED RENDER FUNCTION - TRANSLATE BYTE CODE INTO FUNCTION CALLS
 
-bool Layer_Shape::render_polyspan(Surface *surface, PolySpan &polyspan,
-								Color::BlendMethod got_blend_method, Color::value_type got_amount) const
+bool Layer_Shape::render_polyspan(
+	Surface *surface,
+	PolySpan &polyspan,
+	Color::value_type amount,
+	Color::BlendMethod blend_method,
+	const Color &color,
+	bool invert,
+	bool antialias,
+	WindingStyle winding_style ) const
 {
-	Color color=param_color.get(Color());
-	bool invert =param_invert.get(bool(true));
-	bool antialias =param_antialias.get(bool(true));
-	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
-
-	Surface::alpha_pen p(surface->begin(),got_amount,got_blend_method);
+	Surface::alpha_pen p(surface->begin(), amount, blend_method);
 	PolySpan::cover_array::iterator cur_mark = polyspan.covers.begin();
 	PolySpan::cover_array::iterator end_mark = polyspan.covers.end();
 
@@ -2330,7 +2336,7 @@ bool Layer_Shape::render_polyspan(etl::surface<float> *surface, PolySpan &polysp
 {
 	bool invert =param_invert.get(bool(true));
 	bool antialias =param_antialias.get(bool(true));
-	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
+	WindingStyle winding_style=(WindingStyle)param_winding_style.get(int());
 
 	etl::surface<float>::pen p(surface->begin());
 	PolySpan::cover_array::iterator cur_mark = polyspan.covers.begin();
@@ -2684,7 +2690,7 @@ Layer_Shape::accelerated_cairorender(Context context,cairo_t *cr, int quality, c
 	bool antialias =param_antialias.get(bool(true));
 	int blurtype=param_blurtype.get(int());
 	Real feather=param_feather.get(Real());
-	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
+	WindingStyle winding_style=(WindingStyle)param_winding_style.get(int());
 
 	// Grab the rgba values
 	const float r(color.get_r());
@@ -3090,34 +3096,38 @@ bool
 Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 							const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	Point origin=param_origin.get(Point());
+	// If our amount is set to zero, no need to render anything
+	if(!get_amount())
+		return true;
+
+	const Real pw = renddesc.get_w()/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
+	const Real ph = renddesc.get_h()/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
+
+	// if the pixels are zero sized then we're too zoomed out to see anything
+	if (pw == 0 || ph == 0)
+		return true;
+
+	Matrix matrix(
+		Matrix().set_translate(param_origin.get(Point()))
+	  * renddesc.get_transformation_matrix()
+	  * Matrix().set_translate(-renddesc.get_tl())
+	  * Matrix().set_scale(pw, ph)
+	);
 
 	int tmp(0);
 
 	SuperCallback	progress(cb,0,renddesc.get_h(),renddesc.get_h());
 
-	// If our amount is set to zero, no need to render anything
-	if(!get_amount())
-		return true;
-
 	//test new polygon renderer
 	// Build edge table
 	// Width and Height of a pixel
-	const int 	w = renddesc.get_w();
-	const int	h = renddesc.get_h();
-	const Real	pw = renddesc.get_w()/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
-	const Real	ph = renddesc.get_h()/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
-
-	const Point	tl = renddesc.get_tl();
+	const int w = renddesc.get_w();
+	const int h = renddesc.get_h();
 
 	Vector tangent (0,0);
 
 	PolySpan	span;
 
-	// if the pixels are zero sized then we're too zoomed out to see anything
-	if (pw == 0 || ph == 0)
-		return true;
-
 	//optimization for tessellating only inside tiles
 	span.window.minx = 0;
 	span.window.miny = 0;
@@ -3192,10 +3202,7 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 			{
 				case Primitive::MOVE_TO:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					if(curnum == 0)
 					{
@@ -3219,10 +3226,7 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 
 				case Primitive::LINE_TO:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = x - span.cur_x;
 					tangent[1] = y - span.cur_y;
@@ -3234,15 +3238,8 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 
 				case Primitive::CONIC_TO:
 				{
-					x = data[curnum+1][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+1][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x1 = data[curnum][0];
-					x1 = (x1 - tl[0] + origin[0])*pw;
-					y1 = data[curnum][1];
-					y1 = (y1 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = 2*(x - x1);
 					tangent[1] = 2*(y - y1);
@@ -3254,10 +3251,7 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 
 				case Primitive::CONIC_TO_SMOOTH:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					x1 = span.cur_x + tangent[0]/2;
 					y1 = span.cur_y + tangent[1]/2;
@@ -3273,20 +3267,9 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 
 				case Primitive::CUBIC_TO:
 				{
-					x = data[curnum+2][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+2][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x2 = data[curnum+1][0];
-					x2 = (x2 - tl[0] + origin[0])*pw;
-					y2 = data[curnum+1][1];
-					y2 = (y2 - tl[1] + origin[1])*ph;
-
-					x1 = data[curnum][0];
-					x1 = (x1 - tl[0] + origin[0])*pw;
-					y1 = data[curnum][1];
-					y1 = (y1 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+2][0], data[curnum+2][1]);
+					matrix.get_transformed(x2, y2, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = 2*(x - x2);
 					tangent[1] = 2*(y - y2);
@@ -3299,15 +3282,8 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 
 				case Primitive::CUBIC_TO_SMOOTH:
 				{
-					x = data[curnum+1][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+1][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x2 = data[curnum][0];
-					x2 = (x2 - tl[0] + origin[0])*pw;
-					y2 = data[curnum][1];
-					y2 = (y2 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					x1 = span.cur_x + tangent[0]/3.0;
 					y1 = span.cur_y + tangent[1]/3.0;
@@ -3327,29 +3303,72 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 	//sort the bastards so we can render everything
 	span.sort_marks();
 
-	return render_polyspan(surface, span,
-			useblend?get_blend_method():Color::BLEND_STRAIGHT,
-			useblend?get_amount():1.0);
+	Color::value_type amount = useblend ? get_amount() : 1.0;
+	Color::BlendMethod blend_method = useblend ? get_blend_method() : Color::BLEND_STRAIGHT;
+	Color color = param_color.get(Color());
+	bool invert = param_invert.get(bool(true));
+	bool antialias = param_antialias.get(bool(true));
+	WindingStyle winding_style = (WindingStyle)param_winding_style.get(int());
+
+	if (useblend && get_blend_method() == Color::BLEND_STRAIGHT_ONTO)
+	{
+		Surface s;
+		s.set_wh(surface->get_w(), surface->get_h());
+		s.clear();
+		bool result = render_polyspan(
+			&s,
+			span,
+			1.0,
+			Color::BLEND_STRAIGHT,
+			color,
+			invert,
+			antialias,
+			winding_style );
+
+		Surface::alpha_pen p(surface->begin(), amount, Color::BLEND_STRAIGHT_ONTO);
+		s.blit_to(p, 0, 0, surface->get_w(), surface->get_h());
+
+		return result;
+	}
+
+	return render_polyspan(
+		surface,
+		span,
+		amount,
+		blend_method,
+		color,
+		invert,
+		antialias,
+		winding_style );
 }
 
 bool
 Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 							const RendDesc &renddesc, ProgressCallback */*cb*/)const
 {
-	Point origin=param_origin.get(Point());
 	// If our amount is set to zero, no need to render anything
 	if(!get_amount())
 		return true;
 
+	const Real pw = renddesc.get_w()/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
+	const Real ph = renddesc.get_h()/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
+
+	// if the pixels are zero sized then we're too zoomed out to see anything
+	if (pw == 0 || ph == 0)
+		return true;
+
+	Matrix matrix(
+		Matrix().set_translate(param_origin.get(Point()))
+	  * renddesc.get_transformation_matrix()
+	  * Matrix().set_translate(-renddesc.get_tl())
+	  * Matrix().set_scale(pw, ph)
+	);
+
 	//test new polygon renderer
 	// Build edge table
 	// Width and Height of a pixel
 	const int 	w = renddesc.get_w();
 	const int	h = renddesc.get_h();
-	const Real	pw = renddesc.get_w()/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
-	const Real	ph = renddesc.get_h()/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
-
-	const Point	tl = renddesc.get_tl();
 
 	Vector tangent (0,0);
 
@@ -3422,10 +3441,7 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 			{
 				case Primitive::MOVE_TO:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					if(curnum == 0)
 					{
@@ -3449,10 +3465,7 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 
 				case Primitive::LINE_TO:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = x - span.cur_x;
 					tangent[1] = y - span.cur_y;
@@ -3464,15 +3477,8 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 
 				case Primitive::CONIC_TO:
 				{
-					x = data[curnum+1][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+1][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x1 = data[curnum][0];
-					x1 = (x1 - tl[0] + origin[0])*pw;
-					y1 = data[curnum][1];
-					y1 = (y1 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = 2*(x - x1);
 					tangent[1] = 2*(y - y1);
@@ -3484,10 +3490,7 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 
 				case Primitive::CONIC_TO_SMOOTH:
 				{
-					x = data[curnum][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum][1];
-					y = (y - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum][0], data[curnum][1]);
 
 					x1 = span.cur_x + tangent[0]/2;
 					y1 = span.cur_y + tangent[1]/2;
@@ -3503,20 +3506,9 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 
 				case Primitive::CUBIC_TO:
 				{
-					x = data[curnum+2][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+2][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x2 = data[curnum+1][0];
-					x2 = (x2 - tl[0] + origin[0])*pw;
-					y2 = data[curnum+1][1];
-					y2 = (y2 - tl[1] + origin[1])*ph;
-
-					x1 = data[curnum][0];
-					x1 = (x1 - tl[0] + origin[0])*pw;
-					y1 = data[curnum][1];
-					y1 = (y1 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+2][0], data[curnum+2][1]);
+					matrix.get_transformed(x2, y2, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					tangent[0] = 2*(x - x2);
 					tangent[1] = 2*(y - y2);
@@ -3529,15 +3521,8 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 
 				case Primitive::CUBIC_TO_SMOOTH:
 				{
-					x = data[curnum+1][0];
-					x = (x - tl[0] + origin[0])*pw;
-					y = data[curnum+1][1];
-					y = (y - tl[1] + origin[1])*ph;
-
-					x2 = data[curnum][0];
-					x2 = (x2 - tl[0] + origin[0])*pw;
-					y2 = data[curnum][1];
-					y2 = (y2 - tl[1] + origin[1])*ph;
+					matrix.get_transformed(x, y, data[curnum+1][0], data[curnum+1][1]);
+					matrix.get_transformed(x1, y1, data[curnum][0], data[curnum][1]);
 
 					x1 = span.cur_x + tangent[0]/3.0;
 					y1 = span.cur_y + tangent[1]/3.0;
diff --git a/src/synfig/layer_shape.h b/src/synfig/layer_shape.h
index f3878de..039ab02 100644
--- a/src/synfig/layer_shape.h
+++ b/src/synfig/layer_shape.h
@@ -124,8 +124,15 @@ public:
 
 private:
 	class 		PolySpan;
-	bool render_polyspan(Surface *surface,PolySpan &polyspan,
-						Color::BlendMethod method,Color::value_type amount)const;
+	bool render_polyspan(
+		Surface *surface,
+		PolySpan &polyspan,
+		Color::value_type amount,
+		Color::BlendMethod blend_method,
+		const Color &color,
+		bool invert,
+		bool antialias,
+		WindingStyle winding_style) const;
 	bool render_polyspan(etl::surface<float> *surface,PolySpan &polyspan)const;
 	virtual bool render_shape(Surface *surface,bool useblend,int quality,const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual bool render_shape(etl::surface<float> *surface,int quality,const RendDesc &renddesc, ProgressCallback *cb)const;
diff --git a/src/synfig/layer_skeleton.cpp b/src/synfig/layer_skeleton.cpp
index 4e9f00e..6ba3212 100644
--- a/src/synfig/layer_skeleton.cpp
+++ b/src/synfig/layer_skeleton.cpp
@@ -37,7 +37,7 @@
 #include "renddesc.h"
 #include "surface.h"
 #include "value.h"
-#include "valuenode.h"
+#include "valuenode_bone.h"
 
 #endif
 
@@ -63,7 +63,7 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Skeleton,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Layer_Skeleton::Layer_Skeleton():
-	param_name(ValueBase("skeleton"))
+	param_name(ValueBase((const char*)"skeleton"))
 {
 	std::vector<synfig::Bone> bones;
 	int bone_count = 1;
@@ -75,9 +75,13 @@ Layer_Skeleton::Layer_Skeleton():
 	while (bone_count--)
 		bones.push_back(Bone());
 
-	param_bones.set(bones);
+	param_bones.set_list_of(bones);
 	SET_INTERPOLATION_DEFAULTS();
 	SET_STATIC_DEFAULTS();
+
+	set_exclude_from_rendering(true);
+	Layer_Polygon::set_param("color", ValueBase(Color(0.5, 0.5, 1.0, 1.0)));
+	Layer_Polygon::set_param("amount", ValueBase(Real(0.5)));
 }
 
 #ifdef _DEBUG
@@ -91,15 +95,19 @@ Layer_Skeleton::~Layer_Skeleton()
 bool
 Layer_Skeleton::set_param(const String & param, const ValueBase &value)
 {
+	// lock color param
+	if (param == "color") return false;
+
 	IMPORT_VALUE(param_name);
 
 	if (param=="bones" && param_bones.get_type()==value.get_type())
 	{
 		param_bones = value;
+		sync();
 		return true;
 	}
 
-	return Layer::set_param(param,value);
+	return Layer_Polygon::set_param(param,value);
 }
 
 ValueBase
@@ -111,7 +119,7 @@ Layer_Skeleton::get_param(const String &param)const
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
-	return Layer::get_param(param);
+	return Layer_Polygon::get_param(param);
 }
 
 Layer::Vocab
@@ -119,10 +127,20 @@ Layer_Skeleton::get_param_vocab()const
 {
 	Layer::Vocab ret(Layer::get_param_vocab());
 
+	// Params from layer Layer_Shape
+	//ret.push_back(ParamDesc("color")
+	//	.set_local_name(_("Color"))
+	//);
+	
+	ret.push_back(ParamDesc("amount")
+		.set_local_name(_("Amount"))
+		.set_description(_("Alpha channel of the layer"))
+	);
+
+	// Self params
 	ret.push_back(ParamDesc("name")
 		.set_local_name(_("Name"))
 	);
-
 	ret.push_back(ParamDesc("bones")
 		.set_local_name(_("Bones"))
 	);
@@ -130,14 +148,80 @@ Layer_Skeleton::get_param_vocab()const
 	return ret;
 }
 
-bool
-Layer_Skeleton::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+void
+Layer_Skeleton::set_time(IndependentContext context, Time time)const
 {
-	return context.accelerated_render(surface,quality,renddesc,cb);
+	const_cast<Layer_Skeleton*>(this)->sync();
+	context.set_time(time);
 }
 
-bool
-Layer_Skeleton::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+void
+Layer_Skeleton::set_time(IndependentContext context, Time time, const Point &pos)const
+{
+	const_cast<Layer_Skeleton*>(this)->sync();
+	context.set_time(time,pos);
+}
+
+void
+Layer_Skeleton::sync()
 {
-	return context.accelerated_cairorender(cr,quality,renddesc,cb);
+ 	const std::vector<ValueBase> &list = param_bones.get_list();
+
+	static const Real precision = 0.000000001;
+	int segments_count = 64;
+	Real segment_angle = 2*PI/(Real)segments_count;
+
+	clear();
+	for(std::vector<ValueBase>::const_iterator i = list.begin(); i != list.end(); ++i)
+ 	{
+		if (!i->same_type_as(Bone())) continue;
+ 		const Bone &bone = i->get(Bone());
+ 		Matrix matrix = bone.get_animated_matrix();
+ 		Vector origin = matrix.get_transformed(Vector(0.0, 0.0));
+ 		Vector direction = matrix.get_transformed(Vector(1.0, 0.0), false).norm();
+ 		Real length = bone.get_length() * bone.get_scalelx();
+
+ 		if (length < 0) {
+ 			length *= -1;
+ 			direction *= -1;
+ 		}
+
+ 		const Vector &p0 = origin;
+ 		const Vector p1 = origin + direction * length;
+
+ 		Real r0 = fabs(bone.get_width());
+ 		Real r1 = fabs(bone.get_tipwidth());
+ 		Real direction_angle = atan2(direction[1], direction[0]);
+
+ 		Real angle0_base = length - precision > fabs(r1 - r0)
+ 				         ? acos((r0 - r1)/length)
+ 				         : (r0 > r1 ? 0.0 : PI);
+ 		Real angle1_base = PI - angle0_base;
+
+ 		int segments_count0 = (int)round(2*angle1_base / segment_angle);
+ 		Real segment_angle0 = 2*angle1_base / (Real)segments_count0;
+
+ 		int segments_count1 = (int)round(2*angle0_base / segment_angle);
+ 		Real segment_angle1 = 2*angle0_base / (Real)segments_count1;
+
+		std::vector<Point> list;
+		list.reserve(segments_count0 + segments_count1 + 2);
+
+		int j = 0;
+		Real angle = direction_angle + angle0_base;
+		while(true)
+		{
+			list.push_back( Point(r0*cos(angle) + p0[0], r0*sin(angle) + p0[1]) );
+			if (j++ >= segments_count0) break; else angle += segment_angle0;
+		}
+		j = 0;
+		while(true)
+		{
+			list.push_back( Point(r1*cos(angle) + p1[0], r1*sin(angle) + p1[1]) );
+			if (j++ >= segments_count1) break; else angle += segment_angle1;
+		}
+
+		add_polygon(list);
+ 		upload_polygon(list);
+ 	}
 }
diff --git a/src/synfig/layer_skeleton.h b/src/synfig/layer_skeleton.h
index af46eb5..262366a 100644
--- a/src/synfig/layer_skeleton.h
+++ b/src/synfig/layer_skeleton.h
@@ -28,7 +28,7 @@
 /* === H E A D E R S ======================================================= */
 
 #include "bone.h"
-#include "layer.h"
+#include "layer_polygon.h"
 // #include <synfig/value.h>
 // #include <vector>
 
@@ -40,7 +40,7 @@
 
 namespace synfig {
 
-class Layer_Skeleton : public Layer
+class Layer_Skeleton : public Layer_Polygon
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
@@ -64,9 +64,10 @@ public:
 
 	virtual Vocab get_param_vocab()const;
 
-	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(synfig::Context context, cairo_t* cr, int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
-
+	//! Updates the polygon data to match the parameters.
+	virtual void sync();
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, const Point &pos)const;
 }; // END of class Layer_Skeleton
 
 }; // END of namespace synfig
diff --git a/src/synfig/layer_skeletondeformation.cpp b/src/synfig/layer_skeletondeformation.cpp
new file mode 100644
index 0000000..b778f1d
--- /dev/null
+++ b/src/synfig/layer_skeletondeformation.cpp
@@ -0,0 +1,385 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_skeletondeformation.cpp
+**	\brief SkeletonDeformation layer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "layer_skeletondeformation.h"
+#include "string.h"
+#include "time.h"
+#include "context.h"
+#include "paramdesc.h"
+#include "value.h"
+#include "valuenode.h"
+#include "canvas.h"
+
+#include <vector>
+#include <map>
+#include <algorithm>
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S ======================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_LAYER_INIT(Layer_SkeletonDeformation);
+SYNFIG_LAYER_SET_NAME(Layer_SkeletonDeformation,"skeleton_deformation");
+SYNFIG_LAYER_SET_LOCAL_NAME(Layer_SkeletonDeformation,N_("Skeleton Deformation"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_SkeletonDeformation,N_("Distortions"));
+SYNFIG_LAYER_SET_VERSION(Layer_SkeletonDeformation,"0.1");
+SYNFIG_LAYER_SET_CVS_ID(Layer_SkeletonDeformation,"$Id$");
+
+/* === M E T H O D S ======================================================= */
+
+Layer_SkeletonDeformation::Layer_SkeletonDeformation():
+	param_point1(ValueBase(Point(-4,4))),
+	param_point2(ValueBase(Point(4,-4))),
+	param_x_subdivisions(32),
+	param_y_subdivisions(32)
+{
+	max_texture_scale = 1.f;
+	param_bones.set_list_of(std::vector<BonePair>(1));
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+Layer_SkeletonDeformation::~Layer_SkeletonDeformation()
+{
+}
+
+String
+Layer_SkeletonDeformation::get_local_name()const
+{
+	String s = Layer_MeshTransform::get_local_name();
+	return s.empty() ? _("Skeleton Deformation") : '[' + s + ']';
+}
+
+Layer::Vocab
+Layer_SkeletonDeformation::get_param_vocab()const
+{
+	Layer::Vocab ret(Layer_MeshTransform::get_param_vocab());
+
+	ret.push_back(ParamDesc("bones")
+		.set_local_name(_("Bones"))
+		.set_description(_("List of bones"))
+		.set_static(true)
+	);
+
+	ret.push_back(ParamDesc("point1")
+		.set_local_name(_("Point 1"))
+		.set_box("point2")
+		.set_description(_("First corner of the bounds rectangle"))
+	);
+
+	ret.push_back(ParamDesc("point2")
+		.set_local_name(_("Point 2"))
+		.set_description(_("Second corner of the bounds rectangle"))
+	);
+
+	ret.push_back(ParamDesc("x_subdivisions")
+		.set_local_name(_("Horizontal subdivisions"))
+		.set_description(_("Count of horizontal subdivisions of the transformation grid"))
+	);
+
+	ret.push_back(ParamDesc("y_subdivisions")
+		.set_local_name(_("Vertical subdivisions"))
+		.set_description(_("Count of vertical subdivisions of the transformation grid"))
+	);
+
+	return ret;
+}
+
+void
+Layer_SkeletonDeformation::prepare_mask()
+{
+ 	const std::vector<ValueBase> &list = param_bones.get_list();
+
+	static const Real precision = 0.000000001;
+	int segments_count = 64;
+	Real segment_angle = 2*PI/(Real)segments_count;
+
+	mask.clear();
+	for(std::vector<ValueBase>::const_iterator i = list.begin(); i != list.end(); ++i)
+ 	{
+		if (!i->same_type_as(BonePair())) continue;
+ 		const BonePair &bonePair = i->get(BonePair());
+ 		const Bone &bone = bonePair.first;
+ 		Matrix matrix = bone.get_animated_matrix();
+ 		Vector origin = matrix.get_transformed(Vector(0.0, 0.0));
+ 		Vector direction = matrix.get_transformed(Vector(1.0, 0.0), false).norm();
+ 		Real length = bone.get_length() * bone.get_scalelx();
+
+ 		if (length < 0) {
+ 			length *= -1;
+ 			direction *= -1;
+ 		}
+
+ 		const Vector &p0 = origin;
+ 		const Vector p1 = origin + direction * length;
+
+ 		Real r0 = fabs(bone.get_width());
+ 		Real r1 = fabs(bone.get_tipwidth());
+ 		Real direction_angle = atan2(direction[1], direction[0]);
+
+ 		Real angle0_base = length - precision > fabs(r1 - r0)
+ 				         ? acos((r0 - r1)/length)
+ 				         : (r0 > r1 ? 0.0 : PI);
+ 		Real angle1_base = PI - angle0_base;
+
+ 		int segments_count0 = (int)round(2*angle1_base / segment_angle);
+ 		Real segment_angle0 = 2*angle1_base / (Real)segments_count0;
+
+ 		int segments_count1 = (int)round(2*angle0_base / segment_angle);
+ 		Real segment_angle1 = 2*angle0_base / (Real)segments_count1;
+
+ 		// add vertices
+ 		int first = (int)mask.vertices.size();
+ 		mask.vertices.reserve(first + segments_count0 + segments_count1 + 2);
+
+ 		int j = 0;
+		Real angle = direction_angle + angle0_base;
+		while(true)
+		{
+			mask.vertices.push_back( Point(r0*cos(angle) + p0[0], r0*sin(angle) + p0[1]) );
+			if (j++ >= segments_count0) break; else angle += segment_angle0;
+		}
+		j = 0;
+		while(true)
+		{
+			mask.vertices.push_back( Point(r1*cos(angle) + p1[0], r1*sin(angle) + p1[1]) );
+			if (j++ >= segments_count1) break; else angle += segment_angle1;
+		}
+
+		// add triangles
+		for(int i = first+2; i < (int)mask.vertices.size(); ++i)
+			mask.triangles.push_back(Polygon::Triangle(first, i-1, i));
+ 	}
+}
+
+struct Layer_SkeletonDeformation::GridPoint {
+	Vector initial_position;
+	Vector summary_position;
+	Real summary_depth;
+	Real summary_weight;
+	Real average_depth;
+	bool used;
+
+	inline GridPoint():
+		summary_depth(0.0), summary_weight(0.0), average_depth(0.0), used(false) { }
+	inline explicit GridPoint(const Vector &initial_position):
+		initial_position(initial_position), summary_depth(0.0), summary_weight(0.0), average_depth(0.0), used(false) { }
+	static bool compare_triagles(const std::pair<Real, Mesh::Triangle> &a, const std::pair<Real, Mesh::Triangle> &b)
+	{
+		return a.first < b.first ? false
+			 : b.first < a.first ? true
+			 : a.second.vertices[0] < b.second.vertices[0] ? true
+			 : b.second.vertices[0] < a.second.vertices[0] ? false
+			 : a.second.vertices[1] < b.second.vertices[1] ? true
+			 : b.second.vertices[1] < a.second.vertices[1] ? false
+			 : a.second.vertices[2] < b.second.vertices[2];
+	}
+};
+
+Real Layer_SkeletonDeformation::distance_to_line(const Vector &p0, const Vector &p1, const Vector &x)
+{
+	const Real epsilon = 1e-10;
+
+	Real distance_to_p0 = (x - p0).mag();
+	Real distance_to_p1 = (x - p1).mag();
+	Real distance_to_line = INFINITY;
+
+	Vector line = p1 - p0;
+	Real line_length = line.mag();
+	if (line_length > epsilon)
+	{
+		Real dist = fabs((x - p0) * line.perp() / line_length);
+		Real pos = (x - p0) * line / line_length;
+		if (pos > 0.0 && pos < line_length)
+			distance_to_line = dist;
+	}
+
+	return std::min(distance_to_line, std::min(distance_to_p0, distance_to_p1) );
+}
+
+void
+Layer_SkeletonDeformation::prepare_mesh()
+{
+	static const Real precision = 1e-10;
+
+	mesh.clear();
+
+	// TODO: build grid with dynamic size
+
+	const Point grid_p0 = param_point1.get(Point());
+	const Point grid_p1 = param_point2.get(Point());
+	const int grid_side_count_x = std::max(1, param_x_subdivisions.get(int())) + 1;
+	const int grid_side_count_y = std::max(1, param_y_subdivisions.get(int())) + 1;
+
+	const Real grid_step_x = (grid_p1[0] - grid_p0[0]) / (Real)(grid_side_count_x - 1);
+	const Real grid_step_y = (grid_p1[1] - grid_p0[1]) / (Real)(grid_side_count_y - 1);
+	const Real grid_step_diagonal = sqrt(grid_step_x*grid_step_x + grid_step_y*grid_step_y);
+
+	// build grid
+	std::vector<GridPoint> grid;
+	grid.reserve(grid_side_count_x * grid_side_count_y);
+	for(int j = 0; j < grid_side_count_y; ++j)
+		for(int i = 0; i < grid_side_count_x; ++i)
+			grid.push_back(GridPoint(Vector(
+				grid_p0[0] + i*grid_step_x,
+				grid_p0[1] + j*grid_step_y )));
+
+	// apply deformation
+	if (param_bones.can_get(ValueBase::List()))
+	{
+		const ValueBase::List &bones = param_bones.get_list();
+		for(ValueBase::List::const_iterator i = bones.begin(); i != bones.end(); ++i)
+		{
+			if (i->can_get(BonePair()))
+			{
+				const BonePair &bone_pair = i->get(BonePair());
+				Bone::Shape shape0 = bone_pair.first.get_shape();
+				Bone::Shape shape1 = bone_pair.second.get_shape();
+				Bone::Shape expandedShape0 = shape0;
+				expandedShape0.r0 += 2.0*grid_step_diagonal;
+				expandedShape0.r1 += 2.0*grid_step_diagonal;
+				Real depth = bone_pair.second.get_depth();
+
+				Matrix into_bone(
+					shape0.p1[0] - shape0.p0[0], shape0.p1[1] - shape0.p0[1], 0.0,
+					shape0.p0[1] - shape0.p1[1], shape0.p1[0] - shape0.p0[0], 0.0,
+					shape0.p0[0], shape0.p0[1], 1.0
+				);
+				into_bone.invert();
+				Matrix from_bone(
+					shape1.p1[0] - shape1.p0[0], shape1.p1[1] - shape1.p0[1], 0.0,
+					shape1.p0[1] - shape1.p1[1], shape1.p1[0] - shape1.p0[0], 0.0,
+					shape1.p0[0], shape1.p0[1], 1.0
+				);
+				Matrix matrix = into_bone * from_bone;
+
+				for(std::vector<GridPoint>::iterator j = grid.begin(); j != grid.end(); ++j)
+				{
+					Real percent = Bone::distance_to_shape_center_percent(expandedShape0, j->initial_position);
+					if (percent > precision) {
+						Real distance = distance_to_line(shape0.p0, shape0.p1, j->initial_position);
+						if (distance < precision) distance = precision;
+						Real weight =
+							percent/(distance*distance);
+							// 1.0/distance;
+							// 1.0/(distance*distance);
+							// 1.0/(distance*distance*distance);
+							// exp(-4.0*distance);
+						j->summary_position += matrix.get_transformed(j->initial_position) * weight;
+						j->summary_depth += depth * weight;
+						j->summary_weight += weight;
+						j->used = true;
+					}
+				}
+			}
+		}
+	}
+
+	// build vertices
+	mesh.vertices.reserve(grid.size());
+	for(std::vector<GridPoint>::iterator i = grid.begin(); i != grid.end(); ++i) {
+		Vector average_position = i->summary_weight > precision ? i->summary_position/i->summary_weight : i->initial_position;
+		i->average_depth = i->summary_weight > precision ? i->summary_depth/i->summary_weight : 0.0;
+		mesh.vertices.push_back(Mesh::Vertex(average_position, i->initial_position));
+	}
+
+	// build triangles
+	std::vector< std::pair<Real, Mesh::Triangle> > triangles;
+	triangles.reserve(2*(grid_side_count_x-1)*(grid_side_count_y-1));
+	for(int j = 1; j < grid_side_count_y; ++j)
+	{
+		for(int i = 1; i < grid_side_count_x; ++i)
+		{
+			int v[] = {
+				(j-1)*grid_side_count_x + (i-1),
+				(j-1)*grid_side_count_x +  i,
+				 j   *grid_side_count_x +  i,
+				 j   *grid_side_count_x + (i-1),
+			};
+			if (grid[v[0]].used && grid[v[1]].used && grid[v[2]].used && grid[v[3]].used)
+			{
+				Real depth = 0.25*(grid[v[0]].average_depth
+						         + grid[v[1]].average_depth
+								 + grid[v[2]].average_depth
+								 + grid[v[3]].average_depth);
+				triangles.push_back(std::make_pair(depth, Mesh::Triangle(v[0], v[1], v[3])));
+				triangles.push_back(std::make_pair(depth, Mesh::Triangle(v[1], v[2], v[3])));
+			}
+		}
+	}
+
+	// sort triangles
+	std::sort(triangles.begin(), triangles.end(), GridPoint::compare_triagles);
+	mesh.triangles.reserve(triangles.size());
+	for(std::vector< std::pair<Real, Mesh::Triangle> >::iterator i = triangles.begin(); i != triangles.end(); ++i)
+		mesh.triangles.push_back(i->second);
+
+	prepare_mask();
+	update_mesh_and_mask();
+}
+
+bool
+Layer_SkeletonDeformation::set_param(const String & param, const ValueBase &value)
+{
+    IMPORT_VALUE_PLUS(param_bones, prepare_mesh());
+	IMPORT_VALUE_PLUS(param_point1, prepare_mesh());
+	IMPORT_VALUE_PLUS(param_point2, prepare_mesh());
+	IMPORT_VALUE_PLUS(param_x_subdivisions, prepare_mesh());
+	IMPORT_VALUE_PLUS(param_y_subdivisions, prepare_mesh());
+    return Layer_MeshTransform::set_param(param,value);
+}
+
+ValueBase
+Layer_SkeletonDeformation::get_param(const String& param)const
+{
+	EXPORT_VALUE(param_bones);
+	EXPORT_VALUE(param_point1);
+	EXPORT_VALUE(param_point2);
+	EXPORT_VALUE(param_x_subdivisions);
+	EXPORT_VALUE(param_y_subdivisions);
+
+	EXPORT_NAME();
+	EXPORT_VERSION();
+
+	return Layer_MeshTransform::get_param(param);
+}
+
diff --git a/src/modules/mod_filter/colorcorrect.h b/src/synfig/layer_skeletondeformation.h
similarity index 50%
copy from src/modules/mod_filter/colorcorrect.h
copy to src/synfig/layer_skeletondeformation.h
index 1f987d9..a92a482 100644
--- a/src/modules/mod_filter/colorcorrect.h
+++ b/src/synfig/layer_skeletondeformation.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file colorcorrect.h
-**	\brief Header file for implementation of the "Color Correct" layer
+/*!	\file layer_skeletondeformation.h
+**	\brief SkeletonDeformation layer
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2012-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,15 +22,15 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_LAYER_COLORCORRECT_H
-#define __SYNFIG_LAYER_COLORCORRECT_H
+#ifndef __SYNFIG_LAYER_SKELETONDEFORMATION_H
+#define __SYNFIG_LAYER_SKELETONDEFORMATION_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <synfig/layer.h>
-#include <synfig/angle.h>
-#include <synfig/gamma.h>
-#include <synfig/rect.h>
+#include "layer_meshtransform.h"
+#include "pair.h"
+#include "bone.h"
+#include "polygon.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -40,45 +39,48 @@
 /* === C L A S S E S & S T R U C T S ======================================= */
 
 namespace synfig {
-
-class Layer_ColorCorrect : public Layer
+/*!	\class Layer_SkeletonDeformation
+**	\brief Class of the SkeletonDeformation layer.
+*/
+class Layer_SkeletonDeformation : public Layer_MeshTransform
 {
+	//! Layer module: defines the needed members to belong to a layer's factory.
 	SYNFIG_LAYER_MODULE_EXT
-
 private:
-	//! Parameter: (Angle)
-	ValueBase param_hue_adjust;
-	//! Parameter: (Real)
-	ValueBase param_brightness;
-	//! Parameter: (Real)
-	ValueBase param_contrast;
-	//! Parameter: (Real)
-	ValueBase param_exposure;
-	//! Parameter: (Real)
-	ValueBase param_gamma;
-	// This gamma member is kept to avoid need to recalculate the gamma table
-	// on each pixel
-	Gamma gamma;
-
-	Color correct_color(const Color &in)const;
+	//! Parameter: (list) Bones
+	ValueBase param_bones;
+	//! Parameter: (Point)
+	synfig::ValueBase param_point1;
+	//! Parameter: (Point)
+	synfig::ValueBase param_point2;
+	//! Parameter: (Integer)
+	synfig::ValueBase param_x_subdivisions;
+	//! Parameter: (Integer)
+	synfig::ValueBase param_y_subdivisions;
+
+	struct GridPoint;
+	static Real distance_to_line(const Vector &p0, const Vector &p1, const Vector &x);
+	void prepare_mask();
 
 public:
+	typedef std::pair<Bone, Bone> BonePair;
 
-	Layer_ColorCorrect();
+	//! Default constructor
+	Layer_SkeletonDeformation();
+	//! Destructor
+	virtual ~Layer_SkeletonDeformation();
+	//! Returns a string with the localized name of this layer
+	virtual String get_local_name()const;
 
+	//!	Sets the parameter described by \a param to \a value. \see Layer::set_param
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
-
+	//! Get the value of the specified parameter. \see Layer::get_param
 	virtual ValueBase get_param(const String & param)const;
-
-	virtual Color get_color(Context context, const Point &pos)const;
-
-	virtual Rect get_full_bounding_rect(Context context)const;
-
-	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-
+	//! Gets the parameter vocabulary
 	virtual Vocab get_param_vocab()const;
-}; // END of class Layer_ColorCorrect
+
+	void prepare_mesh();
+}; // END of class SkeletonDeformation
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/layer_sound.cpp b/src/synfig/layer_sound.cpp
new file mode 100644
index 0000000..c151703
--- /dev/null
+++ b/src/synfig/layer_sound.cpp
@@ -0,0 +1,131 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_sound.cpp
+**	\brief Implementation of the "Sound" layer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "layer_sound.h"
+#include "string.h"
+#include "time.h"
+#include "real.h"
+#include "value.h"
+#include "soundprocessor.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_LAYER_INIT(Layer_Sound);
+SYNFIG_LAYER_SET_NAME(Layer_Sound,"sound");
+SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Sound,N_("Sound"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_Sound,N_("Other"));
+SYNFIG_LAYER_SET_VERSION(Layer_Sound,"0.1");
+SYNFIG_LAYER_SET_CVS_ID(Layer_Sound,"$Id$");
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+/* === E N T R Y P O I N T ================================================= */
+
+Layer_Sound::Layer_Sound():
+	Layer_Composite(0.0),
+	param_filename(String()),
+	param_delay(Time()),
+	param_volume(Real(1.0))
+{
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+bool
+Layer_Sound::set_param(const String &param, const ValueBase &value)
+{
+	IMPORT_VALUE(param_filename);
+	IMPORT_VALUE(param_delay);
+	IMPORT_VALUE(param_volume);
+
+	return Layer::set_param(param,value);
+}
+
+ValueBase
+Layer_Sound::get_param(const String &param)const
+{
+	EXPORT_VALUE(param_filename);
+	EXPORT_VALUE(param_delay);
+	EXPORT_VALUE(param_volume);
+
+	EXPORT_NAME();
+	EXPORT_VERSION();
+
+	return Layer::get_param(param);
+}
+
+Layer::Vocab
+Layer_Sound::get_param_vocab()const
+{
+	Layer::Vocab ret(Layer::get_param_vocab());
+
+	ret.push_back(ParamDesc("filename")
+		.set_local_name(_("Filename"))
+		.set_description(_("Path to sound file"))
+		.set_static(true)
+		.set_hint("filename")
+	);
+
+	ret.push_back(ParamDesc("delay")
+		.set_local_name(_("Delay"))
+		.set_description(_("Delay before play"))
+		.set_static(true)
+	);
+
+	ret.push_back(ParamDesc("volume")
+		.set_local_name(_("Volume"))
+		.set_description(_("Volume of sound"))
+		.set_static(true)
+	);
+
+	return ret;
+}
+
+void
+Layer_Sound::fill_sound_processor(SoundProcessor &soundProcessor) const
+{
+	String filename = param_filename.get(String());
+	Time delay = param_delay.get(Time());
+	Real volume = param_volume.get(Real());
+	if (!filename.empty())
+		soundProcessor.addSound(SoundProcessor::PlayOptions(delay, volume), SoundProcessor::Sound(filename));
+}
+
diff --git a/src/synfig/protocol.h b/src/synfig/layer_sound.h
similarity index 64%
copy from src/synfig/protocol.h
copy to src/synfig/layer_sound.h
index 6853066..1cf401a 100644
--- a/src/synfig/protocol.h
+++ b/src/synfig/layer_sound.h
@@ -1,11 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file protocol.h
-**	\brief Template Header
+/*!	\file layer_sound.h
+**	\brief Header file for implementation of the "Sound" layer
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -22,12 +22,13 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_PROTOCOL_H
-#define __SYNFIG_PROTOCOL_H
+#ifndef __SYNFIG_LAYER_SOUND_H
+#define __SYNFIG_LAYER_SOUND_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <sigc++/signal.h>
+#include "layer_composite.h"
+#include "color.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -37,29 +38,21 @@
 
 namespace synfig {
 
-/*
- * class Object
+class Layer_Sound : public Layer_Composite, public Layer_NoDeform
 {
-public:
-
-	sigc::signal_
-	bool find_protocol(Protocol& proto)
-	{
-
-	}
-};
-*/
+	SYNFIG_LAYER_MODULE_EXT
+private:
+	ValueBase param_filename;
+	ValueBase param_delay;
+	ValueBase param_volume;
 
-class Protocol
-{
 public:
-	class Type;
-
-}; // END of class Protocol
-
-class Protocol::Type
-{
-}; // END of class Protocol::Type
+	Layer_Sound();
+	virtual bool set_param(const String & param, const synfig::ValueBase &value);
+	virtual ValueBase get_param(const String & param)const;
+	virtual Vocab get_param_vocab()const;
+	virtual void fill_sound_processor(SoundProcessor &soundProcessor) const;
+}; // END of class Layer_SolidColor
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/layer_switch.cpp b/src/synfig/layer_switch.cpp
new file mode 100644
index 0000000..93a2191
--- /dev/null
+++ b/src/synfig/layer_switch.cpp
@@ -0,0 +1,147 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_switch.cpp
+**	\brief Implementation of the "Switch" layer
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "layer_switch.h"
+#include "string.h"
+#include "time.h"
+#include "context.h"
+#include "paramdesc.h"
+#include "value.h"
+#include "valuenode.h"
+#include "canvas.h"
+
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S ======================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_LAYER_INIT(Layer_Switch);
+SYNFIG_LAYER_SET_NAME(Layer_Switch,"switch");
+SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Switch,N_("Switch"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_Switch,N_("Other"));
+SYNFIG_LAYER_SET_VERSION(Layer_Switch,"0.0");
+SYNFIG_LAYER_SET_CVS_ID(Layer_Switch,"$Id$");
+
+/* === M E T H O D S ======================================================= */
+
+Layer_Switch::Layer_Switch()
+{
+	param_layer_name=ValueBase(String());
+	set_param("children_lock",ValueBase(true));
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+Layer_Switch::~Layer_Switch()
+{
+}
+
+String
+Layer_Switch::get_local_name()const
+{
+	String s = Layer_PasteCanvas::get_local_name();
+	return s.empty() ? _("Switch") : _("Switch") + (" [" + s + ']');
+}
+
+Layer::Vocab
+Layer_Switch::get_param_vocab()const
+{
+	Layer::Vocab ret(Layer_PasteCanvas::get_param_vocab());
+
+	ret.push_back(ParamDesc("layer_name")
+		.set_local_name(_("Active Layer Name"))
+		.set_description(_("Only layer with specified name are visible"))
+	);
+
+	return ret;
+}
+
+bool
+Layer_Switch::set_param(const String & param, const ValueBase &value)
+{
+	IMPORT_VALUE(param_layer_name);
+	return Layer_PasteCanvas::set_param(param,value);
+}
+
+ValueBase
+Layer_Switch::get_param(const String& param)const
+{
+	EXPORT_VALUE(param_layer_name);
+
+	EXPORT_NAME();
+	EXPORT_VERSION();
+
+	return Layer_PasteCanvas::get_param(param);
+}
+
+Layer::Handle
+Layer_Switch::get_current_layer()const
+{
+	Canvas::Handle canvas = get_sub_canvas();
+	String n = param_layer_name.get(String());
+	if (canvas)
+		for(IndependentContext i = canvas->get_independent_context(); *i; i++)
+			if ((*i)->get_description() == n)
+				return *i;
+	return NULL;
+}
+
+
+void
+Layer_Switch::apply_z_range_to_params(ContextParams &cp)const
+{
+	if (optimized()) return; // z_range already applied while optimizxation
+
+	Layer::Handle layer = get_current_layer();
+	if (layer) {
+		cp.z_range=true;
+		cp.z_range_position=layer->get_depth();
+		cp.z_range_depth=0;
+		cp.z_range_blur=0;
+		return;
+	}
+
+	cp.z_range=true;
+	cp.z_range_position=0;
+	cp.z_range_depth=-1;
+	cp.z_range_blur=0;
+}
diff --git a/src/modules/lyr_std/clamp.h b/src/synfig/layer_switch.h
similarity index 58%
copy from src/modules/lyr_std/clamp.h
copy to src/synfig/layer_switch.h
index 0c82d3a..978ed78 100644
--- a/src/modules/lyr_std/clamp.h
+++ b/src/synfig/layer_switch.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file clamp.h
-**	\brief Header file for implementation of the "Clamp" layer
+/*!	\file layer_switch.h
+**	\brief Header file for implementation of the "Switch" layer
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2012-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,12 +22,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_LAYER_SOLIDCOLOR_H
-#define __SYNFIG_LAYER_SOLIDCOLOR_H
+#ifndef __SYNFIG_LAYER_SWITCH_H
+#define __SYNFIG_LAYER_SWITCH_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <synfig/layer.h>
+#include "layer_pastecanvas.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -37,39 +36,37 @@
 /* === C L A S S E S & S T R U C T S ======================================= */
 
 namespace synfig {
-
-class Layer_Clamp : public Layer
+/*!	\class Layer_Switch
+**	\brief Class of the Switch layer.
+*/
+class Layer_Switch : public Layer_PasteCanvas
 {
+	//! Layer module: defines the needed members to belong to a layer's factory.
 	SYNFIG_LAYER_MODULE_EXT
-
 private:
-	//!Parameter: (bool)
-	ValueBase param_invert_negative;
-	//!Parameter: (bool)
-	ValueBase param_clamp_ceiling;
-	//!Parameter: (synfig::Real)
-	ValueBase param_ceiling;
-	//!Parameter: (synfig::Real)
-	ValueBase param_floor;
-
-	Color clamp_color(const Color &in)const;
+	//! Parameter: (String) Active Layer Name
+	ValueBase param_layer_name;
 
 public:
-
-	Layer_Clamp();
-
+	//! Default constructor
+	Layer_Switch();
+	//! Destructor
+	virtual ~Layer_Switch();
+	//! Returns a string with the localized name of this layer
+	virtual String get_local_name()const;
+
+	//!	Sets the parameter described by \a param to \a value. \see Layer::set_param
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
-
+	//! Get the value of the specified parameter. \see Layer::get_param
 	virtual ValueBase get_param(const String & param)const;
+	//! Gets the parameter vocabulary
+	virtual Vocab get_param_vocab()const;
 
-	virtual Color get_color(Context context, const Point &pos)const;
-
-	virtual Rect get_full_bounding_rect(Context context)const;
-
-	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	Layer::Handle get_current_layer()const;
 
-	virtual Vocab get_param_vocab()const;
-}; // END of class Layer_Clamp
+	//! Sets z_range* fields of specified ContextParams \a cp
+	virtual void apply_z_range_to_params(ContextParams &cp)const;
+}; // END of class Layer_Switch
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/listimporter.cpp b/src/synfig/listimporter.cpp
index 7998dd8..a9d61a0 100644
--- a/src/synfig/listimporter.cpp
+++ b/src/synfig/listimporter.cpp
@@ -32,6 +32,7 @@
 
 #include "listimporter.h"
 #include "general.h"
+#include "filesystemnative.h"
 #include <fstream>
 
 #endif
@@ -53,35 +54,39 @@ SYNFIG_IMPORTER_SET_NAME(ListImporter,"lst");
 SYNFIG_IMPORTER_SET_EXT(ListImporter,"lst");
 SYNFIG_IMPORTER_SET_VERSION(ListImporter,"0.1");
 SYNFIG_IMPORTER_SET_CVS_ID(ListImporter,"$Id$");
+SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(ListImporter, false);
 
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
 
-ListImporter::ListImporter(const String &filename)
+//TODO factorize code with cairolistimporter.cpp
+ListImporter::ListImporter(const FileSystem::Identifier &identifier):
+Importer(identifier)
 {
 	fps=15;
 
-	ifstream stream(filename.c_str());
+	ifstream stream(identifier.filename.c_str());
 
 	if(!stream)
 	{
-		synfig::error("Unable to open "+filename);
+		synfig::error("Unable to open "+identifier.filename);
 		return;
 	}
+
 	String line;
-	String prefix=etl::dirname(filename)+ETL_DIRECTORY_SEPARATOR;
-	getline(stream,line);		// read first line and check whether it is a Papagayo lip sync file
+	String prefix=etl::dirname(identifier.filename)+ETL_DIRECTORY_SEPARATOR;
 
-	if (line == "MohoSwitch1")	// it is a Papagayo lipsync file
+	///! read first line and check whether it is a Papagayo lip sync file
+	if(!FileSystem::safeGetline(stream, line).eof())
+	if (line == "MohoSwitch1")
 	{
+		//! it is a Papagayo lipsync file
 		String phoneme, prevphoneme, prevext, ext(".jpg"); // default image format
 		int frame, prevframe = -1; // it means that the previous phoneme is not known
 
-		while(!stream.eof())
+		while(!FileSystem::safeGetline(stream, line).eof())
 		{
-			getline(stream,line);
-
 			if(line.find(String("FPS ")) == 0)
 			{
 				float f = atof(String(line.begin()+4,line.end()).c_str());
@@ -99,8 +104,8 @@ ListImporter::ListImporter(const String &filename)
 				ext = String(".") + line;
 				continue;
 			}
-
-			size_t pos = line.find(String(" ")); // find space position. The format is "frame phoneme-name".
+			//! find space position. The format is "frame phoneme-name".
+			size_t pos = line.find(String(" "));
 			if(pos != String::npos)
 			{
 				frame = atoi(String(line.begin(),line.begin()+pos).c_str());
@@ -127,12 +132,11 @@ ListImporter::ListImporter(const String &filename)
 	}
 
 	stream.seekg(ios_base::beg);
-	while(!stream.eof())
+	while(!FileSystem::safeGetline(stream, line).eof())
 	{
-		getline(stream,line);
 		if(line.empty())
 			continue;
-		// If we have a framerate, then use it
+		//! If we have a framerate, then use it
 		if(line.find(String("FPS "))==0)
 		{
 			fps=atof(String(line.begin()+4,line.end()).c_str());
@@ -178,7 +182,7 @@ ListImporter::get_frame(Surface &surface, const RendDesc &renddesc, Time time, P
 		}
 	}
 
-	Importer::Handle importer(Importer::open(filename_list[frame]));
+	Importer::Handle importer(Importer::open(FileSystem::Identifier(FileSystemNative::instance(), filename_list[frame])));
 
 	if(!importer)
 	{
diff --git a/src/synfig/listimporter.h b/src/synfig/listimporter.h
index 8515a3a..a446ac6 100644
--- a/src/synfig/listimporter.h
+++ b/src/synfig/listimporter.h
@@ -55,7 +55,7 @@ private:
 	std::list<std::pair<String,Surface> > frame_cache;
 
 public:
-	ListImporter(const String &filename);
+	ListImporter(const FileSystem::Identifier &identifier);
 
 	~ListImporter();
 
diff --git a/src/synfig/loadcanvas.cpp b/src/synfig/loadcanvas.cpp
index 385abd2..2a8c094 100644
--- a/src/synfig/loadcanvas.cpp
+++ b/src/synfig/loadcanvas.cpp
@@ -43,16 +43,19 @@
 #include <stdexcept>
 #include <iostream>
 
-#include "layer_pastecanvas.h"
+#include "layer_group.h"
 #include "loadcanvas.h"
 #include "valuenode.h"
+#include "boneweightpair.h"
 #include "valuenode_animated.h"
 #include "valuenode_composite.h"
 #include "valuenode_const.h"
 #include "valuenode_linear.h"
 #include "valuenode_dynamiclist.h"
 #include "valuenode_reference.h"
+#include "valuenode_add.h"
 #include "valuenode_scale.h"
+#include "valuenode_exp.h"
 #include "valuenode_timedswap.h"
 #include "valuenode_twotone.h"
 #include "valuenode_stripes.h"
@@ -60,8 +63,12 @@
 #include "valuenode_segcalcvertex.h"
 #include "valuenode_bline.h"
 #include "valuenode_bone.h"
+#include "valuenode_boneweightpair.h"
+#include "valuenode_bonelink.h"
+#include "valuenode_weightedaverage.h"
 #include "valuenode_wplist.h"
 #include "valuenode_dilist.h"
+#include "valueoperations.h"
 
 #include "layer.h"
 #include "string.h"
@@ -70,6 +77,10 @@
 
 #include "gradient.h"
 
+#include "importer.h"
+
+#include "zstreambuf.h"
+
 #include <map>
 #include <sigc++/bind.h>
 
@@ -99,7 +110,7 @@ test_class test_class_instance;
 
 inline bool is_whitespace(char x) { return ((x)=='\n' || (x)=='\t' || (x)==' '); }
 
-std::set<String> CanvasParser::loading_;
+std::set<FileSystem::Identifier> CanvasParser::loading_;
 
 /* === P R O C E D U R E S ================================================= */
 
@@ -130,22 +141,17 @@ static void _canvas_file_name_changed(Canvas *x)
 }
 
 Canvas::Handle
-synfig::open_canvas(const String &filename,String &errors,String &warnings)
-{
-	return open_canvas_as(filename, filename, errors, warnings);
-}
-
-Canvas::Handle
-synfig::open_canvas_as(const String &filename,const String &as,String &errors,String &warnings)
+synfig::open_canvas_as(const FileSystem::Identifier &identifier,const String &as,String &errors,String &warnings)
 {
-	if (CanvasParser::loading_.count(filename))
+	if (CanvasParser::loading_.count(identifier))
 	{
-		String warning(strprintf(_("cannot load '%s' recursively"), filename.c_str()));
+		String warning(strprintf(_("cannot load '%s' recursively"), identifier.filename.c_str()));
 		synfig::warning(warning);
 		warnings = "  * " + warning + "\n";
 		Canvas::Handle canvas(Canvas::create());
-		canvas->set_file_name(filename);
-		Layer::Handle paste(Layer_PasteCanvas::create());
+		canvas->set_identifier(identifier);
+		canvas->set_file_name(as);
+		Layer::Handle paste(Layer_Group::create());
 		canvas->push_back(paste);
 		paste->set_description(warning);
 		return canvas;
@@ -157,15 +163,15 @@ synfig::open_canvas_as(const String &filename,const String &as,String &errors,St
 
 	try
 	{
-		CanvasParser::loading_.insert(filename);
-		canvas=parser.parse_from_file_as(filename,as,errors);
+		CanvasParser::loading_.insert(identifier);
+		canvas=parser.parse_from_file_as(identifier,as,errors);
 	}
 	catch (...)
 	{
-		CanvasParser::loading_.erase(filename);
+		CanvasParser::loading_.erase(identifier);
 		throw;
 	}
-	CanvasParser::loading_.erase(filename);
+	CanvasParser::loading_.erase(identifier);
 
 	warnings = parser.get_warnings_text();
 
@@ -703,7 +709,7 @@ CanvasParser::parse_bline_point(xmlpp::Element *element)
 	}
 
 	BLinePoint ret;
-	ret.set_split_tangent_flag(false);
+	ret.set_split_tangent_both(false);
 
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
@@ -785,7 +791,7 @@ CanvasParser::parse_bline_point(xmlpp::Element *element)
 			}
 
 			ret.set_tangent2(parse_vector(dynamic_cast<xmlpp::Element*>(*iter)));
-			ret.set_split_tangent_flag(true);
+			ret.set_split_tangent_both(true);
 		}
 		else
 		// width
@@ -846,6 +852,130 @@ CanvasParser::parse_bline_point(xmlpp::Element *element)
 	return ret;
 }
 
+Transformation
+CanvasParser::parse_transformation(xmlpp::Element *element)
+{
+	assert(element->get_name()=="transformation");
+
+	if(element->get_children().empty())
+	{
+		error(element, "Undefined value in <transformation>");
+		return Transformation();
+	}
+
+	Transformation transformation;
+
+	xmlpp::Element::NodeList list = element->get_children();
+	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+	{
+		xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
+		if(!child)
+			continue;
+		else
+		if(child->get_name()=="offset")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <offset>");
+				continue;
+			}
+
+			if((*iter)->get_name()!="vector")
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),"vector");
+				continue;
+			}
+
+			transformation.offset=parse_vector(dynamic_cast<xmlpp::Element*>(*iter));
+		}
+		else
+		if(child->get_name()=="angle")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <angle>");
+				continue;
+			}
+
+			if((*iter)->get_name()!="angle")
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),"angle");
+				continue;
+			}
+
+			transformation.angle=parse_angle(dynamic_cast<xmlpp::Element*>(*iter));
+		}
+		else
+		if(child->get_name()=="skew_angle")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <angle>");
+				continue;
+			}
+
+			if((*iter)->get_name()!="angle")
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),"angle");
+				continue;
+			}
+
+			transformation.skew_angle=parse_angle(dynamic_cast<xmlpp::Element*>(*iter));
+		}
+		else
+		if(child->get_name()=="scale")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <scale>");
+				continue;
+			}
+
+			if((*iter)->get_name()!="vector")
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),"vector");
+				continue;
+			}
+
+			transformation.scale=parse_vector(dynamic_cast<xmlpp::Element*>(*iter));
+		}
+		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
+			error_unexpected_element(child,child->get_name());
+		}
+	}
+	return transformation;
+}
+
 WidthPoint
 CanvasParser::parse_width_point(xmlpp::Element *element)
 {
@@ -1159,6 +1289,162 @@ CanvasParser::parse_angle(xmlpp::Element *element)
 	return Angle::deg(atof(val.c_str()));
 }
 
+ValueBase
+CanvasParser::parse_weighted_value(xmlpp::Element *element, types_namespace::TypeWeightedValueBase &type, Canvas::Handle canvas)
+{
+	assert(element->get_name()==type.description.name);
+
+	if(element->get_children().empty())
+	{
+		error(element, "Undefined value in <" + type.description.name + ">");
+		return ValueBase();
+	}
+
+	Real weight = 0.0;
+	ValueBase value;
+
+	xmlpp::Element::NodeList list = element->get_children();
+	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+	{
+		xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
+		if(!child)
+			continue;
+		else
+		if(child->get_name()=="weight")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <weight>");
+				continue;
+			}
+
+			if((*iter)->get_name()!="real")
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),"real");
+				continue;
+			}
+
+			weight = parse_real(dynamic_cast<xmlpp::Element*>(*iter));
+		}
+		else
+		if(child->get_name()=="value")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <value>");
+				continue;
+			}
+
+			if((*iter)->get_name()!=type.get_contained_type().description.name)
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),type.get_contained_type().description.name);
+				continue;
+			}
+
+			value = parse_value(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+		}
+		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
+			error_unexpected_element(child,child->get_name());
+		}
+	}
+
+	return type.create_weighted_value(weight, value);
+}
+
+ValueBase
+CanvasParser::parse_pair(xmlpp::Element *element, types_namespace::TypePairBase &type, Canvas::Handle canvas)
+{
+	assert(element->get_name()==type.description.name);
+
+	if(element->get_children().empty())
+	{
+		error(element, "Undefined value in <" + type.description.name + ">");
+		return ValueBase();
+	}
+
+	ValueBase first;
+	ValueBase second;
+
+	xmlpp::Element::NodeList list = element->get_children();
+	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+	{
+		xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
+		if(!child)
+			continue;
+		else
+		if(child->get_name()=="first")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <first>");
+				continue;
+			}
+
+			if((*iter)->get_name()!=type.get_first_type().description.name)
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),type.get_first_type().description.name);
+				continue;
+			}
+
+			first = parse_value(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+		}
+		else
+		if(child->get_name()=="second")
+		{
+			xmlpp::Element::NodeList list = child->get_children();
+			xmlpp::Element::NodeList::iterator iter;
+
+			// Search for the first non-text XML element
+			for(iter = list.begin(); iter != list.end(); ++iter)
+				if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+			if(iter==list.end())
+			{
+				error(element, "Undefined value in <second>");
+				continue;
+			}
+
+			if((*iter)->get_name()!=type.get_second_type().description.name)
+			{
+				error_unexpected_element((*iter),(*iter)->get_name(),type.get_second_type().description.name);
+				continue;
+			}
+
+			second = parse_value(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+		}
+		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
+			error_unexpected_element(child,child->get_name());
+		}
+	}
+
+	return type.create_value(first, second);
+}
+
 Interpolation
 CanvasParser::parse_interpolation(xmlpp::Element *element,String attribute)
 {
@@ -1297,17 +1583,29 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ret.set_static(parse_static(element));
 		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
-	}	else
+	}
+	else
 	if(element->get_name()=="bline_point")
 		return parse_bline_point(element);
 	else
 	if(element->get_name()=="guid")
-		return parse_guid(element);
+		return parse_guid(element).get_string();
+	else
 	if(element->get_name()=="width_point")
 		return parse_width_point(element);
+	else
 	if(element->get_name()=="dash_item")
 		return parse_dash_item(element);
 	else
+	if(element->get_name()=="transformation")
+	{
+		ValueBase ret;
+		ret.set(parse_transformation(element));
+		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
+		return ret;
+	}
+	else
 	if(element->get_name()=="canvas")
 	{
 		ValueBase ret;
@@ -1317,6 +1615,34 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 	else
 	{
+		// template types
+		Type *type = Type::try_get_type_by_name(element->get_name());
+
+		{ // weighted value
+			types_namespace::TypeWeightedValueBase *type_weighted_value =
+				dynamic_cast<types_namespace::TypeWeightedValueBase*>(type);
+			if (type_weighted_value != NULL)
+			{
+				ValueBase ret = parse_weighted_value(element, *type_weighted_value, canvas);
+				ret.set_static(parse_static(element));
+				ret.set_interpolation(parse_interpolation(element,"interpolation"));
+				return ret;
+			}
+		}
+
+		{ // pair
+			types_namespace::TypePairBase *type_pair =
+				dynamic_cast<types_namespace::TypePairBase*>(type_pair);
+			if (type_pair != NULL)
+			{
+				ValueBase ret = parse_pair(element, *type_pair, canvas);
+				ret.set_static(parse_static(element));
+				ret.set_interpolation(parse_interpolation(element,"interpolation"));
+				return ret;
+			}
+		}
+
+		// else
 		printf("%s:%d\n", __FILE__, __LINE__);
 		error_unexpected_element(element,element->get_name());
 	}
@@ -1338,9 +1664,9 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 		return ValueNode_Animated::Handle();
 	}
 
-	ValueBase::Type type=ValueBase::ident_type(element->get_attribute("type")->get_value());
+	Type &type = ValueBase::ident_type(element->get_attribute("type")->get_value());
 
-	if(!type)
+	if(type == type_nil)
 	{
 		error(element,"Bad type in <animated>");
 		return ValueNode_Animated::Handle();
@@ -1350,7 +1676,7 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 
 	if(!value_node)
 	{
-		error(element,strprintf(_("Unable to create <animated> with type \"%s\""),ValueBase::type_local_name(type).c_str()));
+		error(element,strprintf(_("Unable to create <animated> with type \"%s\""), type.description.local_name.c_str()));
 		return ValueNode_Animated::Handle();
 	}
 
@@ -1392,7 +1718,7 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 				//      <animated type="canvas">
 				//        <waypoint time="0s" use="mycanvas"/>
 				//      </animated>
-				if (type==ValueBase::TYPE_CANVAS)
+				if (type==type_canvas)
 				{
 					String warnings;
 					waypoint_value_node=ValueNode_Const::create(canvas->surefind_canvas(child->get_attribute("use")->get_value(), warnings));
@@ -1511,7 +1837,7 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 	// when loading a version 0.1 canvas, modify constant angle
 	// waypoints to that they are within 180 degrees of the previous
 	// waypoint's value
-	if (type == ValueBase::TYPE_ANGLE)
+	if (type == type_angle)
 	{
 		if (canvas->get_version() == "0.1")
 		{
@@ -1558,16 +1884,16 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 		return 0;
 	}
 
-	ValueBase::Type type=ValueBase::ident_type(element->get_attribute("type")->get_value());
+	Type &type = ValueBase::ident_type(element->get_attribute("type")->get_value());
 
-	if(!type)
+	if(type == type_nil)
 	{
 		error(element, strprintf(_("Bad type in <%s>"), element->get_name().c_str()));
 		printf("%s:%d parse_linkable_value_node done bad type\n", __FILE__, __LINE__);
 		return 0;
 	}
 
-	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d creating linkable '%s' type '%s'\n", __FILE__, __LINE__, element->get_name().c_str(), ValueBase::type_name(type).c_str());
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d creating linkable '%s' type '%s'\n", __FILE__, __LINE__, element->get_name().c_str(), type.description.name.c_str());
 	handle<LinkableValueNode> value_node=LinkableValueNode::create(element->get_name(),type,canvas);
  	//handle<ValueNode> c[value_node->link_count()]; changed because of clang complain
 	std::vector<handle<ValueNode> > c(value_node->link_count());
@@ -1576,7 +1902,7 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 	{
 		error(element, strprintf(_("Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"),
 								 element->get_name().c_str(),
-								 ValueBase::type_local_name(type).c_str(),
+								 type.description.local_name.c_str(),
 								 VALUENODE_COMPATIBILITY_URL));
 		printf("%s:%d parse_linkable_value_node done error creating\n", __FILE__, __LINE__);
 		return 0;
@@ -1586,7 +1912,7 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 	{
 		error(element, strprintf(_("<%s> did not accept type '%s'"),
 								 element->get_name().c_str(),
-								 ValueBase::type_local_name(type).c_str()));
+								 type.description.local_name.c_str()));
 		printf("%s:%d parse_linkable_value_node unacceptable type\n", __FILE__, __LINE__);
 		return 0;
 	}
@@ -1605,6 +1931,13 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 				continue;
 
 			try {
+				bool load_old_weighted_bonelink = false;
+				if (ValueNode_BoneLink::Handle::cast_dynamic(value_node) && name == "bone_weight_list")
+				{
+					name = "bone";
+					load_old_weighted_bonelink = true;
+				}
+
 				index = value_node->get_link_index_from_name(name);
 
 				if(c[index])
@@ -1629,6 +1962,15 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 					continue;
 				}
 
+				if (load_old_weighted_bonelink)
+				{
+					ValueNode_StaticList::Handle list = ValueNode_StaticList::Handle::cast_dynamic(c[index]);
+					ValueNode_BoneWeightPair::Handle wp = ValueNode_BoneWeightPair::Handle::cast_dynamic(list->get_link_vfunc(0));
+					ValueNode::Handle bone = wp->get_link_vfunc(0);
+					
+					c[index] = bone;
+				}
+
 				if(!value_node->set_link(index, c[index]))
 				{
 					error(element, strprintf(_("Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"),
@@ -1676,6 +2018,13 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 
 				child_name = child->get_name();
 
+				bool load_old_weighted_bonelink = false;
+				if (ValueNode_BoneLink::Handle::cast_dynamic(value_node) && child_name == "bone_weight_list"){
+					synfig::info("!!!");
+					child_name = "bone";
+					load_old_weighted_bonelink = true;
+				}
+
 				index = value_node->get_link_index_from_name(child_name);
 
 				if(c[index])
@@ -1709,11 +2058,20 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 					continue;
 				}
 
+				if (load_old_weighted_bonelink)
+				{
+					ValueNode_StaticList::Handle list = ValueNode_StaticList::Handle::cast_dynamic(c[index]);
+					ValueNode_BoneWeightPair::Handle wp = ValueNode_BoneWeightPair::Handle::cast_dynamic(list->get_link_vfunc(0));
+					ValueNode::Handle bone = wp->get_link_vfunc(0);
+					
+					c[index] = bone;
+				}
+
 				if(!value_node->set_link(index,c[index]))
 				{
 					error(child,strprintf(_("Unable to connect value node ('%s' of type '%s') to link %d (%s)"),
 										  c[index]->get_name().c_str(),
-										  ValueBase::type_local_name(c[index]->get_type()).c_str(),
+										  c[index]->get_type().description.local_name.c_str(),
 										  index,
 										  value_node->link_name(index).c_str()));
 					continue;
@@ -1773,10 +2131,14 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 				continue;
 
 			// todo: remove this - it's temporary; accept bones with 'scalel' missing - it's new
+			// todo: remove this AFTER release, which is subsequent to 0.64.1
 			if (element->get_name() == "bone" &&
 				(value_node->link_name(i) == "scalel" ||
 				 value_node->link_name(i) == "scalelx" ||
-				 value_node->link_name(i) == "scalely"))
+				 value_node->link_name(i) == "scalely" ||
+				 value_node->link_name(i) == "width" ||
+				 value_node->link_name(i) == "tipwidth" ||
+				 value_node->link_name(i) == "bone_depth"))
 				continue;
 
 			// 'homogeneous' was added while canvas version 0.7 was in use and the BLineCalcVertex,
@@ -1803,10 +2165,28 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 			if((version=="0.8" || version =="0.7") &&
 				(element->get_name() == "composite") && value_node->link_name(i) =="upper_bound")
 			{
-				// old versions have lower boundary set to 1.0
+				// old versions have upper boundary set to 1.0
 				value_node->set_link("upper_bound", ValueNode_Const::create(Real(1.0)));
 				continue;
 			}
+			// 'split_radius' was added while canvas 0.9 was in use and
+			// ValueNode_Composite has been modified since canvas version 0.7
+			if((version == "0.1" || version == "0.2" || version == "0.3" || version == "0.4" || version == "0.5" || version == "0.6" || version=="0.7" || version=="0.8" || version =="0.9") &&
+			   (element->get_name() == "composite") && value_node->link_name(i) =="split_radius")
+			{
+				// old versions must have split_radius and split_angle set to the same value node than split
+				value_node->set_link("split_radius", value_node->get_link(value_node->get_link_index_from_name("split"))->clone(canvas));
+				continue;
+			}
+			// 'split_angle' was added while canvas 0.9 was in use and
+			// ValueNode_Composite has been modified since canvas version 0.7
+			if((version == "0.1" || version == "0.2" || version == "0.3" || version == "0.4" || version == "0.5" || version == "0.6" || version=="0.7" || version=="0.8" || version =="0.9") &&
+			   (element->get_name() == "composite") && value_node->link_name(i) =="split_angle")
+			{
+				// old versions must have split_radius and split_angle set to the same value node than split
+				value_node->set_link("split_angle", value_node->get_link(value_node->get_link_index_from_name("split"))->clone(canvas));
+				continue;
+			}
 
 			error(element, strprintf(_("<%s> is missing link %d (%s)"),
 									 element->get_name().c_str(),
@@ -1844,9 +2224,9 @@ CanvasParser::parse_static_list(xmlpp::Element *element,Canvas::Handle canvas)
 		return handle<ValueNode_StaticList>();
 	}
 
-	ValueBase::Type type=ValueBase::ident_type(element->get_attribute("type")->get_value());
+	Type &type=ValueBase::ident_type(element->get_attribute("type")->get_value());
 
-	if(!type)
+	if(type == type_nil)
 	{
 		error(element,"Bad type in <list>");
 		return handle<ValueNode_StaticList>();
@@ -1931,7 +2311,8 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 	assert(element->get_name()=="dynamic_list" ||
 		element->get_name()=="bline" ||
 		element->get_name()=="wplist" ||
-		element->get_name()=="dilist");
+		element->get_name()=="dilist" ||
+		element->get_name()=="weighted_average" );
 
 	const float fps(canvas?canvas->rend_desc().get_frame_rate():0);
 
@@ -1941,9 +2322,9 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 		return handle<ValueNode_DynamicList>();
 	}
 
-	ValueBase::Type type=ValueBase::ident_type(element->get_attribute("type")->get_value());
+	Type &type = ValueBase::ident_type(element->get_attribute("type")->get_value());
 
-	if(!type)
+	if(type == type_nil)
 	{
 		error(element,"Bad type in <dynamic_list>");
 		return handle<ValueNode_DynamicList>();
@@ -1953,10 +2334,11 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 	handle<ValueNode_BLine> bline_value_node;
 	handle<ValueNode_WPList> wplist_value_node;
 	handle<ValueNode_DIList> dilist_value_node;
+	handle<ValueNode_WeightedAverage> weightedaverage_value_node;
 
 	if(element->get_name()=="bline")
 	{
-		value_node=bline_value_node=ValueNode_BLine::create(ValueBase::TYPE_LIST, canvas);
+		value_node=bline_value_node=ValueNode_BLine::create(type_list, canvas);
 		if(element->get_attribute("loop"))
 		{
 			String loop=element->get_attribute("loop")->get_value();
@@ -1990,6 +2372,20 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 				dilist_value_node->set_loop(false);
 		}
 	}
+	else if(element->get_name()=="weighted_average")
+	{
+		Type& contained_type = ValueAverage::get_type_from_weighted(type);
+		weightedaverage_value_node=new ValueNode_WeightedAverage(contained_type, canvas);
+		value_node=ValueNode_DynamicList::Handle::cast_dynamic(weightedaverage_value_node);
+		if(element->get_attribute("loop"))
+		{
+			String loop=element->get_attribute("loop")->get_value();
+			if(loop=="true" || loop=="1" || loop=="TRUE" || loop=="True")
+				weightedaverage_value_node->set_loop(true);
+			else
+				weightedaverage_value_node->set_loop(false);
+		}
+	}
 	else
 		value_node=ValueNode_DynamicList::create(type);
 
@@ -2190,7 +2586,7 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 		if(value_node)
 		{
 			if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node done early\n", __FILE__, __LINE__);
-			if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()))
+			if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()) != type_nil)
 			{
 				if (element->get_name() == "bone_valuenode")
 				{
@@ -2210,7 +2606,7 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 
 	// If ValueBase::ident_type() recognizes the name, then we know it's a ValueBase
 	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d element name = '%s'\n", __FILE__, __LINE__, element->get_name().c_str());
-	if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()))
+	if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()) != type_nil)
 	{
 		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_value\n", __FILE__, __LINE__);
 		ValueBase data=parse_value(element,canvas);
@@ -2260,6 +2656,9 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 	if(element->get_name()=="dilist") // This is not a typo. The dynamic list parser will parse a dilist.
 		value_node=parse_dynamic_list(element,canvas);
 	else
+	if(element->get_name()=="weighted_average") // This is not a typo. The dynamic list parser will parse a weighted_average.
+		value_node=parse_dynamic_list(element,canvas);
+	else
 	if(LinkableValueNode::book().count(element->get_name()))
 	{
 		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_linkable_value_node\n", __FILE__, __LINE__);
@@ -2385,9 +2784,10 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 
 	// Handle the version attribute
+	String version;
 	if(element->get_attribute("version"))
 	{
-		String version(element->get_attribute("version")->get_value());
+		version = element->get_attribute("version")->get_value();
 		if(version>layer->get_version())
 			warning(element,_("Installed layer version is smaller than layer version in file"));
 		if(version!=layer->get_version())
@@ -2404,6 +2804,32 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 	if(element->get_attribute("exclude_from_rendering"))
 		layer->set_exclude_from_rendering(element->get_attribute("exclude_from_rendering")->get_value()=="false"?false:true);
 
+	// Load old groups
+	etl::handle<Layer_PasteCanvas> layer_pastecanvas = etl::handle<Layer_PasteCanvas>::cast_dynamic(layer);
+	bool old_pastecanvas = layer_pastecanvas && version=="0.1";
+	ValueNode::Handle origin_node;
+	ValueNode_Composite::Handle transformation_node;
+	ValueNode_Add::Handle offset_node;
+	ValueNode_Scale::Handle scale_scalar_node;
+	ValueNode_Exp::Handle scale_node;
+	bool origin_const=true, focus_const=true, zoom_const=true;
+	if (old_pastecanvas) {
+		transformation_node = ValueNode_Composite::create(ValueBase(Transformation()), canvas);
+		layer->connect_dynamic_param("transformation", ValueNode::Handle(transformation_node));
+
+		offset_node = ValueNode_Add::create(ValueBase(Vector(0,0)));
+		transformation_node->set_link("offset", offset_node);
+
+		origin_node = offset_node->get_link("rhs");
+		layer->connect_dynamic_param("origin", ValueNode::Handle(origin_node));
+
+		scale_scalar_node = ValueNode_Scale::create(ValueBase(Vector(1,1)));
+		transformation_node->set_link("scale", scale_scalar_node);
+
+		scale_node = ValueNode_Exp::create(ValueBase(Real(1)));
+		scale_scalar_node->set_link("scalar", scale_node);
+	}
+
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
 	{
@@ -2446,7 +2872,7 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 
 				if (str.empty())
 					error(child,_("Empty use=\"\" value in <param>"));
-				else if(layer->get_param(param_name).get_type()==ValueBase::TYPE_CANVAS)
+				else if(layer->get_param(param_name).get_type()==type_canvas)
 				{
 					String warnings;
 					Canvas::Handle c(canvas->surefind_canvas(str, warnings));
@@ -2473,7 +2899,36 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 										layer->get_name().c_str());
 						param_name = "bline";
 					}
-					layer->connect_dynamic_param(param_name,value_node);
+
+					// NB: this part of code has copy below
+					bool processed = false;
+					if (old_pastecanvas)
+					{
+						processed = true;
+						if (param_name == "origin")
+						{
+							origin_const = false;
+							offset_node->set_link("lhs", value_node);
+						}
+						else
+						if (param_name == "focus")
+						{
+							focus_const = false;
+							origin_node = value_node;
+							layer->connect_dynamic_param("origin_node", ValueNode::Handle(origin_node));
+							offset_node->set_link("rhs", value_node);
+						}
+						else
+						if (param_name == "zoom")
+						{
+							zoom_const = false;
+							scale_node->set_link("exp", value_node);
+						}
+						else
+							processed = false;
+					}
+
+					if (!processed) layer->connect_dynamic_param(param_name,value_node);
     			}
 				catch(Exception::IDNotFound)
 				{
@@ -2497,40 +2952,78 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 				continue;
 			}
 
+			ValueBase data;
+			handle<ValueNode> value_node;
+
 			// If we recognize the element name as a
 			// ValueBase, then treat is at one
-			if(/*(*iter)->get_name()!="canvas" && */ValueBase::ident_type((*iter)->get_name()) && !dynamic_cast<xmlpp::Element*>(*iter)->get_attribute("guid"))
+			if(/*(*iter)->get_name()!="canvas" && */ValueBase::ident_type((*iter)->get_name()) != type_nil && !dynamic_cast<xmlpp::Element*>(*iter)->get_attribute("guid"))
 			{
-				ValueBase data=parse_value(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+				data=parse_value(dynamic_cast<xmlpp::Element*>(*iter),canvas);
 
 				if(!data.is_valid())
 				{
 					error((*iter),_("Bad data for <param>"));
 					continue;
 				}
-
-				// Set the layer's parameter, and make sure that
-				// the layer liked it
-				if(!layer->set_param(param_name,data))
-				{
-					warning((*iter),strprintf(_("Layer '%s' rejected value for parameter '%s'"),
-											  element->get_attribute("type")->get_value().c_str(),
-											  param_name.c_str()));
-					continue;
-				}
 			}
 			else	// ... otherwise, we assume that it is a ValueNode
 			{
-				handle<ValueNode> value_node=parse_value_node(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+				value_node=parse_value_node(dynamic_cast<xmlpp::Element*>(*iter),canvas);
 
 				if(!value_node)
 				{
 					error((*iter),_("Bad data for <param>"));
 					continue;
 				}
+			}
 
-				// Assign the value_node to the dynamic parameter list
-				layer->connect_dynamic_param(param_name,value_node);
+			// NB: this part of code has copy above
+			bool processed = false;
+			if (old_pastecanvas)
+			{
+				processed = true;
+				bool is_const = !value_node;
+				ValueNode::Handle node = value_node ? value_node : ValueNode_Const::create(data,canvas);
+				if (param_name == "origin")
+				{
+					if (!is_const) origin_const = false;
+					offset_node->set_link("lhs", node);
+				}
+				else
+				if (param_name == "focus")
+				{
+					if (!is_const) focus_const = false;
+					origin_node = node;
+					layer->connect_dynamic_param("origin_node", ValueNode::Handle(origin_node));
+					offset_node->set_link("rhs", node);
+				}
+				else
+				if (param_name == "zoom")
+				{
+					if (!is_const) zoom_const = false;
+					scale_node->set_link("exp", node);
+				}
+				else
+					processed = false;
+			}
+
+			if (!processed)
+			{
+				if (value_node) {
+					// Assign the value_node to the dynamic parameter list
+					layer->connect_dynamic_param(param_name,value_node);
+				} else {
+					// Set the layer's parameter, and make sure that
+					// the layer liked it
+					if(!layer->set_param(param_name,data))
+					{
+						warning((*iter),strprintf(_("Layer '%s' rejected value for parameter '%s'"),
+												  element->get_attribute("type")->get_value().c_str(),
+												  param_name.c_str()));
+						continue;
+					}
+				}
 			}
 
 			// Warn if there is trash after the param value
@@ -2546,12 +3039,52 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 		}
 	}
 
+	// Simplify old pastecanvas conversion
+	if (old_pastecanvas) {
+		bool focus_zero = focus_const && (*origin_node)(0).get(Vector()) == Vector(0,0);
+		bool zoom_zero = zoom_const && (*scale_node->get_link("exp"))(0).get(Real()) == 0;
+		if (origin_const && focus_const && zoom_const)
+		{
+			ValueBase origin = (*origin_node)(0);
+			transformation_node->set_link("offset", ValueNode_Const::create((*offset_node)(0), canvas));
+			transformation_node->set_link("scale", ValueNode_Const::create((*scale_scalar_node)(0), canvas));
+			layer->disconnect_dynamic_param("origin");
+			layer->set_param("origin", origin);
+		} else {
+			if (origin_const && focus_const)
+			{
+				ValueBase origin = (*origin_node)(0);
+				layer->disconnect_dynamic_param("origin");
+				layer->set_param("origin", origin);
+				transformation_node->set_link("offset", ValueNode_Const::create((*offset_node)(0), canvas));
+			} else
+			if (focus_zero)
+			{
+				layer->disconnect_dynamic_param("origin");
+				transformation_node->set_link("offset", offset_node->get_link("lhs"));
+			}
+			else
+			if (focus_const)
+			{
+				ValueBase origin = (*origin_node)(0);
+				layer->disconnect_dynamic_param("origin");
+				layer->set_param("origin", origin);
+			}
+
+			if (zoom_zero)
+				transformation_node->set_link("scale", ValueNode_Const::create(ValueBase(Vector(1,1)), canvas));
+			else
+			if (zoom_const)
+				transformation_node->set_link("scale", ValueNode_Const::create((*scale_scalar_node)(0), canvas));
+		}
+	}
+
 	layer->reset_version();
 	return layer;
 }
 
 Canvas::Handle
-CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool inline_, String filename)
+CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool inline_,const FileSystem::Identifier &identifier,String filename)
 {
 
 	if(element->get_name()!="canvas")
@@ -2587,6 +3120,7 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 	else
 	{
 		canvas=Canvas::create();
+		canvas->set_identifier(identifier);
 		if(filename=="/dev/stdin")
 			canvas->set_file_name("./stdin.sif");
 		else
@@ -2738,8 +3272,6 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 					continue;
 				}
 
-				String name,content;
-
 				if(!child->get_attribute("name"))
 				{
 					warning(child,_("<meta> must have a name"));
@@ -2751,8 +3283,36 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 					warning(child,_("<meta> must have content"));
 					continue;
 				}
+				
+				// In Synfig prior to version 1.0 we have messed decimal separator:
+				// some files use ".", but other ones use ","/
+				// Let's try to put a workaround for that.
+				std::vector<String> replacelist;
+				replacelist.push_back("background_first_color");
+				replacelist.push_back("background_second_color");
+				replacelist.push_back("background_size");
+				replacelist.push_back("grid_color");
+				replacelist.push_back("grid_size");
+				replacelist.push_back("jack_offset");
+				String content;
+				content=child->get_attribute("content")->get_value();
+				if(std::find(replacelist.begin(), replacelist.end(), child->get_attribute("name")->get_value()) != replacelist.end()) 
+				{
+					size_t index = 0;
+					while (true) {
+					     /* Locate the substring to replace. */
+					     index = content.find(",", index);
+					     if (index == string::npos) break;
+
+					     /* Make the replacement. */
+					     content.replace(index, 1, ".");
 
-				canvas->set_meta_data(child->get_attribute("name")->get_value(),child->get_attribute("content")->get_value());
+					     /* Advance index forward so the next iteration doesn't pick it up as well. */
+					     index += 1;
+					}
+					
+				}
+				canvas->set_meta_data(child->get_attribute("name")->get_value(),content);
 			}
 			else if(child->get_name()=="name")
 			{
@@ -2862,11 +3422,9 @@ CanvasParser::show_canvas_map(String file, int line, String text)
 #endif	// _DEBUG
 
 Canvas::Handle
-CanvasParser::parse_from_file_as(const String &file_,const String &as_,String &errors)
+CanvasParser::parse_from_file_as(const FileSystem::Identifier &identifier,const String &as,String &errors)
 {
 	ChangeLocale change_locale(LC_NUMERIC, "C");
-	String file(unix_to_local_path(file_));
-	String as(unix_to_local_path(as_));
 
 	try
 	{
@@ -2875,28 +3433,41 @@ CanvasParser::parse_from_file_as(const String &file_,const String &as_,String &e
 
 		filename=as;
 		total_warnings_=0;
-		xmlpp::DomParser parser(file);
-		if(parser)
+		
+		synfig::info(String("Loading file: ") + filename);
+		FileSystem::ReadStreamHandle stream = identifier.get_read_stream();
+		if (stream)
 		{
-			Canvas::Handle canvas(parse_canvas(parser.get_document()->get_root_node(),0,false,as));
-			if (!canvas) return canvas;
-			register_canvas_in_map(canvas, as);
+			if (filename_extension(identifier.filename) == ".sifz")
+				stream = FileSystem::ReadStreamHandle(new ZReadStream(stream));
 
-			const ValueNodeList& value_node_list(canvas->value_node_list());
-
-			again:
-			ValueNodeList::const_iterator iter;
-			for(iter=value_node_list.begin();iter!=value_node_list.end();++iter)
+			xmlpp::DomParser parser;
+			parser.parse_stream(*stream);
+			stream.reset();
+			if(parser)
 			{
-				ValueNode::Handle value_node(*iter);
-				if(value_node->is_exported() && value_node->get_id().find("Unnamed")==0)
+				Canvas::Handle canvas(parse_canvas(parser.get_document()->get_root_node(),0,false,identifier,as));
+				if (!canvas) return canvas;
+				register_canvas_in_map(canvas, as);
+
+				const ValueNodeList& value_node_list(canvas->value_node_list());
+
+				again:
+				ValueNodeList::const_iterator iter;
+				for(iter=value_node_list.begin();iter!=value_node_list.end();++iter)
 				{
-					canvas->remove_value_node(value_node, true);
-					goto again;
+					ValueNode::Handle value_node(*iter);
+					if(value_node->is_exported() && value_node->get_id().find("Unnamed")==0)
+					{
+						canvas->remove_value_node(value_node, true);
+						goto again;
+					}
 				}
-			}
 
-			return canvas;
+				return canvas;
+			}
+		} else {
+			throw runtime_error(String("  * ") + _("Can't find linked file") + " \"" + identifier.filename + "\"");
 		}
 	}
 	catch(Exception::BadLinkName) { synfig::error("BadLinkName Thrown"); }
@@ -2907,7 +3478,7 @@ CanvasParser::parse_from_file_as(const String &file_,const String &as_,String &e
 	catch(xmlpp::internal_error x)
 	{
 		if (!strcmp(x.what(), "Couldn't create parsing context"))
-			throw runtime_error(String("  * ") + _("Can't open file") + " \"" + file + "\"");
+			throw runtime_error(String("  * ") + _("Can't open file") + " \"" + identifier.filename + "\"");
 		throw;
 	}
 	catch(const std::exception& ex)
@@ -2935,7 +3506,7 @@ CanvasParser::parse_as(xmlpp::Element* node,String &errors)
 		total_warnings_=0;
 		if(node)
 		{
-			Canvas::Handle canvas(parse_canvas(node,0,false,""));
+			Canvas::Handle canvas(parse_canvas(node,0,false,FileSystemNative::instance()->get_identifier(std::string()),""));
 			if (!canvas) return canvas;
 
 			const ValueNodeList& value_node_list(canvas->value_node_list());
diff --git a/src/synfig/loadcanvas.h b/src/synfig/loadcanvas.h
index 6fec0f9..9316557 100644
--- a/src/synfig/loadcanvas.h
+++ b/src/synfig/loadcanvas.h
@@ -41,6 +41,9 @@
 #include "valuenode_dynamiclist.h"
 #include "keyframe.h"
 #include "guid.h"
+#include "filesystemnative.h"
+#include "weightedvalue.h"
+#include "pair.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -138,12 +141,12 @@ public:
 #endif	// _DEBUG
 
 	//! Parse a Cavnas form a file with absolute path.
-	Canvas::Handle parse_from_file_as(const String &filename,const String &as,String &errors);
+	Canvas::Handle parse_from_file_as(const FileSystem::Identifier &identifier,const String &as,String &errors);
 	//! Parse a Canvas from a xmlpp root node
 	Canvas::Handle parse_as(xmlpp::Element* node,String &errors);
 
 	//! Set of absolute file names of the canvases currently being parsed
-	static std::set<String> loading_;
+	static std::set<FileSystem::Identifier> loading_;
 
 private:
 
@@ -159,7 +162,7 @@ private:
 	void error_unexpected_element(xmlpp::Node *node,const String &got);
 
 	//! Canvas Parsing Function
-	Canvas::Handle parse_canvas(xmlpp::Element *node,Canvas::Handle parent=0,bool inline_=false, String path=".");
+	Canvas::Handle parse_canvas(xmlpp::Element *node,Canvas::Handle parent=0,bool inline_=false,const FileSystem::Identifier &identifier = FileSystemNative::instance()->get_identifier(std::string()),String path=".");
 	//! Canvas definitions Parsing Function (exported value nodes and exported canvases)
 	void parse_canvas_defs(xmlpp::Element *node,Canvas::Handle canvas);
 
@@ -192,10 +195,16 @@ private:
 	Segment parse_segment(xmlpp::Element *node);
 	//! List Value Base Parsing Function
 	ValueBase parse_list(xmlpp::Element *node,Canvas::Handle canvas);
+	//! Weighted Value Base Parsing Function
+	ValueBase parse_weighted_value(xmlpp::Element *node, types_namespace::TypeWeightedValueBase &type, Canvas::Handle canvas);
+	//! Pair Value Base Parsing Function
+	ValueBase parse_pair(xmlpp::Element *node, types_namespace::TypePairBase &type, Canvas::Handle canvas);
 	//! Gradient Value Base Parsing Function
 	Gradient parse_gradient(xmlpp::Element *node);
 	//! Bline Point Value Base Parsing Function
 	BLinePoint parse_bline_point(xmlpp::Element *node);
+	//! Transformation Value Base Parsing Function
+	Transformation parse_transformation(xmlpp::Element *node);
 
 	GUID parse_guid(xmlpp::Element *node);
 
@@ -230,16 +239,13 @@ private:
 //!	Loads a canvas from current xmlpp Element
 /*!	\return	The Canvas's handle on success, an empty handle on failure */
 extern Canvas::Handle open_canvas(xmlpp::Element* node,String &errors,String &warnings);
-//!	Loads a canvas from \a filename
-/*!	\return	The Canvas's handle on success, an empty handle on failure */
-extern Canvas::Handle open_canvas(const String &filename,String &errors,String &warnings);
 //!	Loads a canvas from \a filename and its absolute path
 /*!	\return	The Canvas's handle on success, an empty handle on failure */
-extern Canvas::Handle open_canvas_as(const String &filename,const String &as,String &errors,String &warnings);
+extern Canvas::Handle open_canvas_as(const FileSystem::Identifier &identifier,const String &as,String &errors,String &warnings);
 
 //! Returns the Open Canvases Map.
 //! \see open_canvas_map_
-std::map<synfig::String, etl::loose_handle<Canvas> >& get_open_canvas_map();
+std::map<String, etl::loose_handle<Canvas> >& get_open_canvas_map();
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/main.cpp b/src/synfig/main.cpp
index 85754c8..b60637d 100644
--- a/src/synfig/main.cpp
+++ b/src/synfig/main.cpp
@@ -62,6 +62,7 @@
 #include <time.h>
 #include "layer.h"
 #include "valuenode.h"
+#include "soundprocessor.h"
 
 #include "main.h"
 #include "loadcanvas.h"
@@ -76,6 +77,10 @@
 
 #endif
 
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
 using namespace std;
 using namespace etl;
 using namespace synfig;
@@ -193,8 +198,10 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 
 	unsigned int i;
 #ifdef _DEBUG
+#ifndef __APPLE__
 	std::set_terminate(__gnu_cxx::__verbose_terminate_handler);
 #endif
+#endif
 
 #if defined(HAVE_SIGNAL_H) && defined(SIGPIPE)
 	signal(SIGPIPE, broken_pipe_signal);
@@ -204,14 +211,27 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 
 	// Init the subsystems
 	if(cb)cb->amount_complete(0, 100);
+
+	if(cb)cb->task(_("Starting Subsystem \"Sound\""));
+	if(!SoundProcessor::subsys_init())
+		throw std::runtime_error(_("Unable to initialize subsystem \"Sound\""));
+
+	if(cb)cb->task(_("Starting Subsystem \"Types\""));
+	if(!Type::subsys_init())
+		throw std::runtime_error(_("Unable to initialize subsystem \"Types\""));
+
 	if(cb)cb->task(_("Starting Subsystem \"Modules\""));
 	if(!Module::subsys_init(prefix))
-		throw std::runtime_error(_("Unable to initialize subsystem \"Module\""));
+	{
+		Type::subsys_stop();
+		throw std::runtime_error(_("Unable to initialize subsystem \"Modules\""));
+	}
 
 	if(cb)cb->task(_("Starting Subsystem \"Layers\""));
 	if(!Layer::subsys_init())
 	{
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(_("Unable to initialize subsystem \"Layers\""));
 	}
 
@@ -220,6 +240,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 	{
 		Layer::subsys_stop();
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(_("Unable to initialize subsystem \"Targets\""));
 	}
 
@@ -229,6 +250,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 		Target::subsys_stop();
 		Layer::subsys_stop();
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(_("Unable to initialize subsystem \"Importers\""));
 	}
 
@@ -239,6 +261,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 		Target::subsys_stop();
 		Layer::subsys_stop();
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(_("Unable to initialize subsystem \"Cairo Importers\""));
 	}
 
@@ -250,12 +273,13 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 		Target::subsys_stop();
 		Layer::subsys_stop();
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(_("Unable to initialize subsystem \"ValueNodes\""));
 	}
 
 	// Load up the list importer
-	Importer::book()[String("lst")]=ListImporter::create;
-	CairoImporter::book()[String("lst")]=CairoListImporter::create;
+	Importer::book()[String("lst")]=Importer::BookEntry(ListImporter::create, ListImporter::supports_file_system_wrapper__);
+	CairoImporter::book()[String("lst")]=CairoImporter::BookEntry(CairoListImporter::create, CairoListImporter::supports_file_system_wrapper__);
 
 	// Load up the modules
 	std::list<String> modules_to_load;
@@ -267,7 +291,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 	{
 		locations.push_back("./"MODULE_LIST_FILENAME);
 		if(getenv("HOME"))
-			locations.push_back(strprintf("%s/.synfig/%s", getenv("HOME"), MODULE_LIST_FILENAME));
+			locations.push_back(strprintf("%s/.local/share/synfig/%s", getenv("HOME"), MODULE_LIST_FILENAME));
 	#ifdef SYSCONFDIR
 		locations.push_back(SYSCONFDIR"/"MODULE_LIST_FILENAME);
 	#endif
@@ -299,6 +323,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 		Target::subsys_stop();
 		Layer::subsys_stop();
 		Module::subsys_stop();
+		Type::subsys_stop();
 		throw std::runtime_error(strprintf(_("Unable to open module list file '%s'"), MODULE_LIST_FILENAME));
 	}
 
@@ -349,6 +374,7 @@ synfig::Main::~Main()
  	// synfig::info("Module::subsys_stop()");
 	// Module::subsys_stop();
 	// synfig::info("Exiting");
+	Type::subsys_stop();
 
 #if defined(HAVE_SIGNAL_H) && defined(SIGPIPE)
 	signal(SIGPIPE, SIG_DFL);
diff --git a/src/synfig/matrix.cpp b/src/synfig/matrix.cpp
index 326efc9..fa669ba 100644
--- a/src/synfig/matrix.cpp
+++ b/src/synfig/matrix.cpp
@@ -32,15 +32,6 @@
 
 #include "matrix.h"
 
-
-#ifdef WIN32
-#include <float.h>
-#ifndef isnan
-extern "C" { int _isnan(double x); }
-#define isnan _isnan
-#endif
-#endif
-
 // For some reason isnan() isn't working on macosx any more.
 // This is a quick fix.
 #if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
@@ -83,6 +74,15 @@ Matrix::set_identity()
 	return (*this);
 }
 
+bool
+Matrix::is_identity() const
+{
+	static const double e = 0.000001;
+	return fabs(m00 - 1.0) < e && fabs(m01) < e && fabs(m02) < e
+		&& fabs(m10) < e && fabs(m11 - 1.0) < e && fabs(m12) < e
+		&& fabs(m20) < e && fabs(m21) < e && fabs(m22 - 1.0) < e;
+}
+
 Matrix &
 Matrix::set_scale(const value_type &sx, const value_type &sy)
 {
@@ -131,10 +131,28 @@ Matrix::set_translate(value_type x, value_type y)
 }
 
 Vector
-Matrix::get_transformed(const Vector &v)const
+Matrix::get_transformed(const Vector &v, bool translate)const
+{
+	return translate
+		 ? Vector(v[0]*m00+v[1]*m10+m20,
+				  v[0]*m01+v[1]*m11+m21)
+		 : Vector(v[0]*m00+v[1]*m10,
+				  v[0]*m01+v[1]*m11);
+}
+
+void
+Matrix::get_transformed(value_type &out_x, value_type &out_y, const value_type x, const value_type y, bool translate)const
 {
-	return Vector(v[0]*m00+v[1]*m10+m20,
-				  v[0]*m01+v[1]*m11+m21);
+	if (translate)
+	{
+		out_x = x*m00+y*m10+m20;
+		out_y = x*m01+y*m11+m21;
+	}
+	else
+	{
+		out_x = x*m00+y*m10;
+		out_y = x*m01+y*m11;
+	}
 }
 
 Matrix
@@ -196,19 +214,19 @@ Matrix::operator+=(const Matrix &rhs)
 }
 
 Matrix
-Matrix::operator*(const Matrix &rhs)
+Matrix::operator*(const Matrix &rhs)const
 {
 	return Matrix(*this)*=rhs;
 }
 
 Matrix
-Matrix::operator*(const value_type &rhs)
+Matrix::operator*(const value_type &rhs)const
 {
 	return Matrix(*this)*=rhs;
 }
 
 Matrix
-Matrix::operator+(const Matrix &rhs)
+Matrix::operator+(const Matrix &rhs)const
 {
 	return Matrix(*this)+=rhs;
 }
@@ -224,17 +242,29 @@ Matrix::is_invertible()const
 Matrix&
 Matrix::invert()
 {
-	assert(is_invertible() && !m02 && !m12 && m22==1);
-
-	value_type det(m00*m11-m01*m10);
-	value_type tmp(m20);
-	m20=(m10*m21-m11*m20)/det;
-	m21=(m01*tmp-m00*m21)/det;
-	tmp=m00;
-	m00=m11/det;
-	m11=tmp/det;
-	m01=-m01/det;
-	m10=-m10/det;
+	if (is_invertible())
+	{
+		value_type det(m00*m11-m01*m10);
+		value_type tmp(m20);
+		m20=(m10*m21-m11*m20)/det;
+		m21=(m01*tmp-m00*m21)/det;
+		tmp=m00;
+		m00=m11/det;
+		m11=tmp/det;
+		m01=-m01/det;
+		m10=-m10/det;
+	}
+	else
+	if (m00*m00+m01*m01 > m10*m10+m11*m11)
+	{
+		m10=m01; m20=-m20*m00-m21*m01;
+		m01=0; m11=0; m21=0;
+	}
+	else
+	{
+		m01=m10; m21=-m20*m10-m21*m11;
+		m00=0; m10=0; m20=0;
+	}
 	return *this;
 }
 
diff --git a/src/synfig/matrix.h b/src/synfig/matrix.h
index 1431752..3af8093 100644
--- a/src/synfig/matrix.h
+++ b/src/synfig/matrix.h
@@ -38,15 +38,6 @@
 
 /* === M A C R O S ========================================================= */
 
-
-#ifdef WIN32
-#include <float.h>
-#ifndef isnan
-extern "C" { int _isnan(double x); }
-#define isnan _isnan
-#endif
-#endif
-
 // For some reason isnan() isn't working on macosx any more.
 // This is a quick fix.
 #if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
@@ -77,7 +68,7 @@ class Matrix
 public:
 	typedef Real value_type;
 
-private:
+public:
 	//! The matrix array
 	value_type m00, m01, m02;
 	value_type m10, m11, m12;
@@ -93,13 +84,34 @@ private:
 	// In affine transformation matrixes the values of
 	// m02=0, m12=0 and m22=1 for non projective transformations.
 
-public:
 	//!Default constructor makes an identity matrix
 	Matrix();
 
+	Matrix(
+		value_type m00, value_type m01, value_type m02,
+		value_type m10, value_type m11, value_type m12,
+		value_type m20, value_type m21, value_type m22
+	):
+		m00(m00), m01(m01), m02(m02),
+		m10(m10), m11(m11), m12(m12),
+		m20(m20), m21(m21), m22(m22)
+	{ }
+
+	Matrix(Vector axis_x, Vector axis_y, Vector offset):
+		m00(axis_x[0]), m01(axis_x[1]), m02(0),
+		m10(axis_y[0]), m11(axis_y[1]), m12(0),
+		m20(offset[0]), m21(offset[1]), m22(1)
+	{ }
+
+	Vector get_axis_x()const { return Vector(m00, m01); }
+	Vector get_axis_y()const { return Vector(m10, m11); }
+	Vector get_offset()const { return Vector(m20, m21); }
+
 	//!set_identity member. Set an identity matrix
 	Matrix &set_identity();
 
+	bool is_identity() const;
+
 	//!set_scale member function. Sets a scale matrix
 	//! @param sx Scale by X axis
 	//! @param sy Scale by Y axis
@@ -135,7 +147,8 @@ public:
 	//!get_transformed member function.
 	//! @param v 2D Vector to transform
 	//! @return The Vector result
-	Vector get_transformed(const Vector &v)const;
+	Vector get_transformed(const Vector &v, bool translate = true)const;
+	void get_transformed(value_type &out_x, value_type &out_y, const value_type x, const value_type y, bool translate = true)const;
 
 	//! operator*=. Multiplication and assignment of one matrix by another
 	//! @param rhs the right hand side of the multiplication operation
@@ -155,18 +168,18 @@ public:
 	//! operator*. Multiplication of one matrix by another
 	//! @param rhs the right hand side of the multiplication operation
 	//! @return the resulting matrix
-	Matrix operator*(const Matrix &rhs);
+	Matrix operator*(const Matrix &rhs)const;
 
 	//! operator*. Multiplication of one matrix by a number
 	//! @param rhs the number to multiply by
 	//! @return the resulting matrix
-	Matrix operator*(const value_type &rhs);
+	Matrix operator*(const value_type &rhs)const;
 
 	//! operator+. Sum two matrixes
 	//! @param rhs the matrix to sum
 	//! @return the resulting matrix
 	Matrix
-	operator+(const Matrix &rhs);
+	operator+(const Matrix &rhs)const;
 
 	bool is_invertible()const;
 
diff --git a/src/synfig/mesh.cpp b/src/synfig/mesh.cpp
new file mode 100644
index 0000000..c403f07
--- /dev/null
+++ b/src/synfig/mesh.cpp
@@ -0,0 +1,118 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file mesh.cpp
+**	\brief Template File
+**
+**	$Id$
+**
+**	\legal
+**  ......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "mesh.h"
+#include "matrix.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+bool
+Mesh::transform_coord_world_to_texture(
+	const Vector &src,
+	Vector &dest,
+	const Vector &p0,
+	const Vector &t0,
+	const Vector &p1,
+	const Vector &t1,
+	const Vector &p2,
+	const Vector &t2 )
+{
+	// is point inside triangle?
+	Matrix matrix_of_base_triangle(
+		p1[0]-p0[0], p1[1]-p0[1], 0.0,
+		p2[0]-p0[0], p2[1]-p0[1], 0.0,
+		p0[0], p0[1], 1.0 );
+	if (!matrix_of_base_triangle.is_invertible()) return false;
+
+	matrix_of_base_triangle.invert();
+	Vector v = matrix_of_base_triangle.get_transformed(src);
+	if (v[0] < 0.0 || v[0] > 1.0
+	 || v[1] < 0.0 || v[1] > 1.0
+	 || v[0] + v[1] > 1.0) return false;
+
+	// get coords at texture
+	Matrix matrix_of_texture_triangle(
+		t1[0]-t0[0], t1[1]-t0[1], 0.0,
+		t2[0]-t0[0], t2[1]-t0[1], 0.0,
+		t0[0], t0[1], 1.0 );
+	dest = matrix_of_texture_triangle.get_transformed(v);
+	return true;
+}
+
+bool
+Mesh::transform_coord_world_to_texture(const Vector &src, Vector &dest) const
+{
+	// process triangles backward
+	for(TriangleList::const_reverse_iterator ri = triangles.rbegin(); ri != triangles.rend(); ++ri)
+		if (transform_coord_world_to_texture(
+			src,
+			dest,
+			vertices[ri->vertices[0]].position,
+			vertices[ri->vertices[0]].tex_coords,
+			vertices[ri->vertices[1]].position,
+			vertices[ri->vertices[1]].tex_coords,
+			vertices[ri->vertices[2]].position,
+			vertices[ri->vertices[2]].tex_coords
+		))
+			return true;
+	return false;
+}
+
+bool
+Mesh::transform_coord_texture_to_world(const Vector &src, Vector &dest) const
+{
+	// process triangles backward
+	for(TriangleList::const_reverse_iterator ri = triangles.rbegin(); ri != triangles.rend(); ++ri)
+		if (transform_coord_texture_to_world(
+			src,
+			dest,
+			vertices[ri->vertices[0]].position,
+			vertices[ri->vertices[0]].tex_coords,
+			vertices[ri->vertices[1]].position,
+			vertices[ri->vertices[1]].tex_coords,
+			vertices[ri->vertices[2]].position,
+			vertices[ri->vertices[2]].tex_coords
+		))
+			return true;
+	return false;
+}
diff --git a/src/synfig/mesh.h b/src/synfig/mesh.h
new file mode 100644
index 0000000..09f8e08
--- /dev/null
+++ b/src/synfig/mesh.h
@@ -0,0 +1,96 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file mesh.h
+**	\brief Mesh
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_MESH_H
+#define __SYNFIG_MESH_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <vector>
+#include "vector.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+class Mesh
+{
+public:
+	class Vertex {
+	public:
+		Vector position;
+		Vector tex_coords;
+		inline Vertex() { }
+		inline Vertex(const Vector &position, const Vector &tex_coords):
+			position(position), tex_coords(tex_coords) { }
+	};
+
+	class Triangle {
+	public:
+		int vertices[3];
+		inline Triangle() { vertices[0] = vertices[1] = vertices[2] = 0; }
+		inline Triangle(int v0, int v1, int v2) { vertices[0] = v0; vertices[1] = v1; vertices[2] = v2; }
+	};
+
+	typedef std::vector<Vertex> VertexList;
+	typedef std::vector<Triangle> TriangleList;
+
+	VertexList vertices;
+	TriangleList triangles;
+
+	void clear() { vertices.clear(); triangles.clear(); }
+	bool transform_coord_world_to_texture(const Vector &src, Vector &dest) const;
+	bool transform_coord_texture_to_world(const Vector &src, Vector &dest) const;
+
+	static bool transform_coord_world_to_texture(
+		const Vector &src,
+		Vector &dest,
+		const Vector &p0,
+		const Vector &t0,
+		const Vector &p1,
+		const Vector &t1,
+		const Vector &p2,
+		const Vector &t2 );
+
+	inline static bool transform_coord_texture_to_world(
+		const Vector &src,
+		Vector &dest,
+		const Vector &p0,
+		const Vector &t0,
+		const Vector &p1,
+		const Vector &t1,
+		const Vector &p2,
+		const Vector &t2 )
+	{
+		return transform_coord_world_to_texture(src, dest, t0, p0, t1, p1, t2, p2);
+	}
+};
+
+}; // END of namespace synfig
+
+#endif
diff --git a/src/synfig/module.cpp b/src/synfig/module.cpp
index 13523b0..304ff75 100644
--- a/src/synfig/module.cpp
+++ b/src/synfig/module.cpp
@@ -31,6 +31,7 @@
 
 #include "module.h"
 #include "general.h"
+#include "type.h"
 #include <ETL/stringf>
 
 #ifndef USE_CF_BUNDLES
@@ -68,7 +69,7 @@ Module::subsys_init(const String &prefix)
 
 	lt_dladdsearchdir(".");
 	if(getenv("HOME"))
-		lt_dladdsearchdir(strprintf("%s/.synfig/modules", getenv("HOME")).c_str());
+		lt_dladdsearchdir(strprintf("%s/.local/share/synfig/modules", getenv("HOME")).c_str());
 	lt_dladdsearchdir((prefix+"/lib/synfig/modules").c_str());
 #ifdef LIBDIR
 	lt_dladdsearchdir(LIBDIR"/synfig/modules");
@@ -127,6 +128,7 @@ synfig::Module::Register(const String &module_name, ProgressCallback *callback)
 
 	module=lt_dlopenext((string("lib")+module_name).c_str());
 	if(!module)module=lt_dlopenext(module_name.c_str());
+	Type::initialize_all();
 
 	if(!module)
 	{
diff --git a/src/synfig/module.h b/src/synfig/module.h
index c7b4171..80a8e7f 100644
--- a/src/synfig/module.h
+++ b/src/synfig/module.h
@@ -139,17 +139,19 @@
 //! Marks the start of the importers in the module's inventory
 #define BEGIN_IMPORTERS {
 
+//! Register an Importer class in the book of importers by one file extension string
+#define IMPORTER_EXT(x,y) \
+		synfig::Importer::book()[synfig::String(y)]=synfig::Importer::BookEntry(x::create, x::supports_file_system_wrapper__);
+
 //! Register an Importer class in the book of importers by the default extension
-#define IMPORTER(x) synfig::Importer::book()[synfig::String(x::ext__)]=x::create;
+#define IMPORTER(x) IMPORTER_EXT(x,x::ext__)
 
-//!Register an Importer class in the book of importers by one file extension string
-#define IMPORTER_EXT(x,y) synfig::Importer::book()[synfig::String(y)]=x::create;
+//! Register an Importer class in the book of importers by one file extension string
+#define CAIROIMPORTER_EXT(x,y) \
+		synfig::CairoImporter::book()[synfig::String(y)]=synfig::CairoImporter::BookEntry(x::create, x::supports_file_system_wrapper__);
 
 //! Register an CairoImporter class in the book of importers by the default extension
-#define CAIROIMPORTER(x) synfig::CairoImporter::book()[synfig::String(x::ext__)]=x::create;
-
-//!Register an Importer class in the book of importers by one file extension string
-#define CAIROIMPORTER_EXT(x,y) synfig::CairoImporter::book()[synfig::String(y)]=x::create;
+#define CAIROIMPORTER(x) CAIROIMPORTER_EXT(x,x::ext__)
 
 //! Marks the end of the importers in the module's inventory
 #define END_IMPORTERS }
diff --git a/src/synfig/pair.h b/src/synfig/pair.h
new file mode 100644
index 0000000..4e0809a
--- /dev/null
+++ b/src/synfig/pair.h
@@ -0,0 +1,98 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file pair.h
+**	\brief A pair value template
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_PAIR_H
+#define __SYNFIG_PAIR_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <utility>
+#include "type.h"
+#include "value.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+namespace types_namespace {
+	class TypePairBase: public Type
+	{
+	public:
+		virtual Type& get_first_type() = 0;
+		virtual Type& get_second_type() = 0;
+		virtual ValueBase create_value(const ValueBase &first, const ValueBase &second) = 0;
+		virtual ValueBase extract_first(const ValueBase &value) = 0;
+		virtual ValueBase extract_second(const ValueBase &value) = 0;
+	};
+
+	template<typename T1, typename T2>
+	class TypePair: public TypePairBase
+	{
+		typedef std::pair<T1, T2> ValueType;
+
+		static String to_string(const ValueType &x) {
+			return etl::strprintf("Pair (%s, %s)", value_to_string(x.first).c_str(), value_to_string(x.second).c_str());
+		}
+		void initialize_vfunc(Description &description)
+		{
+			Type &type_first = get_type_alias(T1()).type;
+			type_first.initialize();
+			Type &type_second = get_type_alias(T2()).type;
+			type_second.initialize();
+
+			Type::initialize_vfunc(description);
+			description.name = "pair_" + type_first.description.name + "_" + type_second.description.name;
+			description.local_name = N_("Pair") + String(" (")
+					               + type_first.description.local_name + String(", ")
+					               + type_second.description.local_name + String(")");
+			register_all_but_compare<ValueType, TypePair::to_string>();
+		}
+		virtual Type& get_first_type() { return get_type_alias(T1()).type; }
+		virtual Type& get_second_type() { return get_type_alias(T2()).type; }
+		virtual ValueBase create_value(const ValueBase &first, const ValueBase &second)
+			{ return ValueType(first.get(T1()), second.get(T2())); };
+		virtual ValueBase extract_first(const ValueBase &value)
+			{ return value.get(ValueType()).first; };
+		virtual ValueBase extract_second(const ValueBase &value)
+			{ return value.get(ValueType()).second; };
+	public:
+		static TypePair instance;
+	};
+
+	template<typename T1, typename T2>
+	TypePair<T1, T2> TypePair<T1, T2>::instance;
+
+	template<typename T1, typename T2>
+	TypeAlias< std::pair<T1, T2> > get_type_alias(typename std::pair<T1, T2> const&)
+		{ return TypeAlias< std::pair<T1, T2> >(TypePair<T1, T2>::instance); }
+}
+
+
+}; // END of namespace synfig
+
+#endif
diff --git a/src/synfig/segment.h b/src/synfig/polygon.h
similarity index 66%
copy from src/synfig/segment.h
copy to src/synfig/polygon.h
index 30239f6..bf8c57a 100644
--- a/src/synfig/segment.h
+++ b/src/synfig/polygon.h
@@ -1,11 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file segment.h
-**	\brief Template Header
+/*!	\file polygon.h
+**	\brief Polygon
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -22,11 +22,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_SEGMENT_H
-#define __SYNFIG_SEGMENT_H
+#ifndef __SYNFIG_POLYGON_H
+#define __SYNFIG_POLYGON_H
 
 /* === H E A D E R S ======================================================= */
 
+#include <vector>
 #include "vector.h"
 
 /* === M A C R O S ========================================================= */
@@ -37,31 +38,27 @@
 
 namespace synfig {
 
-/*!	\struct Segment
-**	\todo writeme
-*/
-struct Segment
+class Polygon
 {
-	Point	p1,p2;
-	Vector	t1,t2;
+public:
+	typedef Vector Vertex;
 
-	Segment() { }
-	Segment(Point p1,Vector t1,Point p2, Vector t2):
-		p1(p1),
-		p2(p2),
-		t1(t1),
-		t2(t2)
-	{ }
-	Segment(Point p1,Point p2):
-		p1(p1),
-		p2(p2),
-		t1(p2-p1),
-		t2(p2-p1)
-	{ }
-}; // END of struct Segment
+	class Triangle {
+	public:
+		int vertices[3];
+		inline Triangle() { vertices[0] = vertices[1] = vertices[2] = 0; }
+		inline Triangle(int v0, int v1, int v2) { vertices[0] = v0; vertices[1] = v1; vertices[2] = v2; }
+	};
 
-}; // END of namespace synfig
+	typedef std::vector<Vertex> VertexList;
+	typedef std::vector<Triangle> TriangleList;
+
+	VertexList vertices;
+	TriangleList triangles;
 
-/* === E N D =============================================================== */
+	void clear() { vertices.clear(); triangles.clear(); }
+};
+
+}; // END of namespace synfig
 
 #endif
diff --git a/src/synfig/polynomial_root.h b/src/synfig/polynomial_root.h
index 09e31e4..ba55889 100644
--- a/src/synfig/polynomial_root.h
+++ b/src/synfig/polynomial_root.h
@@ -89,9 +89,9 @@ public:
 		if(p.size() < 2) return *this;
 
 		this->resize(this->size() + p.degree());
-		for(int i = 0; i < nc.size(); ++i)
+		for(i = 0; i < nc.size(); ++i)
 		{
-			for(int j = 1; j < p.size(); ++j)
+			for(j = 1; j < p.size(); ++j)
 			{
 				nc[i+j] += nc[i]*p[j];
 			}
@@ -104,7 +104,7 @@ public:
 class RootFinder
 {
 	std::vector< std::complex<float> >	workcoefs;
-	int	its;
+	//int	its;
 
 public:
 	std::vector< std::complex<float> >	coefs; //the number of coefficients determines the degree of polynomial
diff --git a/src/synfig/rect.h b/src/synfig/rect.h
index cc21e1f..e432660 100644
--- a/src/synfig/rect.h
+++ b/src/synfig/rect.h
@@ -65,6 +65,16 @@ public:
 		);
 	}
 
+	static Rect infinite()
+	{
+		return Rect(
+			-INFINITY,
+			-INFINITY,
+			INFINITY,
+			INFINITY
+		);
+	}
+
 	Rect() { }
 
 	Rect(const Point& x) { set_point(x); }
@@ -173,6 +183,11 @@ public:
 	bool operator!=(const Rect &rhs)const { return get_min() != rhs.get_min() || get_max() != rhs.get_max(); }
 
 	bool is_valid()const { return valid(); }
+
+	Rect multiply_coords(const Vector &rhs) const
+		{ return Rect(minx*rhs[0], miny*rhs[1], maxx*rhs[0], maxy*rhs[1]); }
+	Rect divide_coords(const Vector &rhs) const
+		{ return Rect(minx/rhs[0], miny/rhs[1], maxx/rhs[0], maxy/rhs[1]); }
 }; // END of class Rect
 
 }; // END of namespace synfig
diff --git a/src/synfig/releases.h b/src/synfig/releases.h
index 5417080..8f5fd88 100644
--- a/src/synfig/releases.h
+++ b/src/synfig/releases.h
@@ -52,7 +52,8 @@ namespace synfig {
 		RELEASE_VERSION_0_64_0,
 		RELEASE_VERSION_0_64_1,
 		RELEASE_VERSION_0_64_2,
-
+		RELEASE_VERSION_0_64_3,
+		RELEASE_VERSION_1_0,
 		RELEASE_VERSION_END
 	} ReleaseVersion;
 
diff --git a/src/synfig/renddesc.cpp b/src/synfig/renddesc.cpp
index a9d7274..748cf78 100644
--- a/src/synfig/renddesc.cpp
+++ b/src/synfig/renddesc.cpp
@@ -105,6 +105,31 @@ RendDesc::get_w()const
 RendDesc &
 RendDesc::set_w(int x)
 {
+	if(FLAGS(flags,LINK_IM_ASPECT)) // "Width and Height ratio"
+	{
+		double new_h = h_ratio_*x/w_ratio_;
+		if(FLAGS(flags,PX_ASPECT))
+		{
+			br_[1]-=focus[1];
+			br_[1]=br_[1]/h_*new_h;
+			br_[1]+=focus[1];
+			tl_[1]-=focus[1];
+			tl_[1]=tl_[1]/h_*new_h;
+			tl_[1]+=focus[1];
+
+			br_[0]-=focus[0];
+			br_[0]=br_[0]/w_*x;
+			br_[0]+=focus[0];
+			tl_[0]-=focus[0];
+			tl_[0]=tl_[0]/w_*x;
+			tl_[0]+=focus[0];
+		}
+		h_=new_h;
+		w_=x;
+
+		return *this;
+	}
+
 	if(FLAGS(flags,LINK_PX_ASPECT)) // never set
 	{
 		h_=h_*x/w_;
@@ -166,6 +191,31 @@ RendDesc::get_h()const
 RendDesc &
 RendDesc::set_h(int y)
 {
+	if(FLAGS(flags,LINK_IM_ASPECT)) // "Width and Height ratio"
+	{
+		double new_w = w_ratio_*y/h_ratio_;
+		if(FLAGS(flags,PX_ASPECT))
+		{
+			br_[0]-=focus[0];
+			br_[0]=br_[0]/w_*new_w;
+			br_[0]+=focus[0];
+			tl_[0]-=focus[0];
+			tl_[0]=tl_[0]/w_*new_w;
+			tl_[0]+=focus[0];
+
+			br_[1]-=focus[1];
+			br_[1]=br_[1]/h_*y;
+			br_[1]+=focus[1];
+			tl_[1]-=focus[1];
+			tl_[1]=tl_[1]/h_*y;
+			tl_[1]+=focus[1];
+		}
+		w_=new_w;
+		h_=y;
+
+		return *this;
+	}
+
 	if(FLAGS(flags,LINK_PX_ASPECT)) // never set
 	{
 		w_=w_*y/h_;
@@ -237,6 +287,11 @@ RendDesc::get_x_res()const
 RendDesc &
 RendDesc::set_x_res(Real x)
 {
+	if(FLAGS(flags,LINK_RES)) // "Resolution ratio"
+	{
+		y_res = y_res_ratio_*x/x_res_ratio_;
+	}
+
 	x_res=x; return *this;
 }
 
@@ -249,6 +304,11 @@ RendDesc::get_y_res()const
 RendDesc &
 RendDesc::set_y_res(Real y)
 {
+	if(FLAGS(flags,LINK_RES)) // "Resolution ratio"
+	{
+		x_res = x_res_ratio_*y/y_res_ratio_;
+	}
+
 	y_res=y; return *this;
 }
 
@@ -406,6 +466,57 @@ RendDesc::get_image_aspect()const
 }
 
 
+//! Affect the pixel ratio for LINK_IM_ASPECT flag
+void
+RendDesc::set_pixel_ratio(const int &x, const int &y)
+{
+	w_ratio_ = x;
+	h_ratio_ = y;
+}
+
+//! Get the reduced pixel ratio (based on euclide reduction)
+void
+RendDesc::get_pixel_ratio_reduced(int &w_ratio_reduced, int &h_ratio_reduced)
+{
+	int w = w_;
+	int h = h_;
+	int last_rem = h_;
+	int bigger_commun_div;
+
+	div_t dv;
+
+	if(!w_ || !h_)
+	{
+		w_ratio_reduced = h_ratio_reduced = 0;
+		return;
+	}
+
+	if(w_ == h_)
+	{
+		w_ratio_reduced = h_ratio_reduced = 1;
+		return;
+	}
+
+	while (last_rem != 0)
+	{
+		dv = div(w, h);
+		w = h;
+		bigger_commun_div = last_rem;
+		last_rem = h = dv.rem;
+	}
+
+	w_ratio_reduced = w_ / bigger_commun_div;
+	h_ratio_reduced = h_ / bigger_commun_div;
+}
+
+//! Affect the resolution ratio for LINK_RES flag
+void
+RendDesc::set_res_ratio(const Real &x, const Real &y)
+{
+	x_res_ratio_ = x;
+	y_res_ratio_ = y;
+}
+
 //! Return the antialias amount
 const int &
 RendDesc::get_antialias()const
diff --git a/src/synfig/renddesc.h b/src/synfig/renddesc.h
index d459380..8f97c83 100644
--- a/src/synfig/renddesc.h
+++ b/src/synfig/renddesc.h
@@ -34,6 +34,7 @@
 #include "types.h"
 #include <cmath>
 #include "rect.h"
+#include "matrix.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -70,21 +71,28 @@ public:
 
 		LINK_PX_ASPECT=(1<<10),	// not used
 		LINK_PX_AREA=(1<<11),	// not used
-		LINK_IM_ASPECT=(1<<12),	// not used
+		LINK_IM_ASPECT=(1<<12),	// "Width and Height pixel ratio" in Image Size
 		LINK_IM_SPAN=(1<<13),	// not used
-		LINK_IM_CENTER=(1<<14)	// not used
+		LINK_IM_CENTER=(1<<14),	// not used
+		LINK_RES=(1<<15)		// Resolution ratio in Image Size
 	};
 
 private:
-	//! Width and height of the compostion in pixels
+	//! Width and height of the composition in pixels
 	int w_,h_;
+	//! Width and height used for fixed ratio
+	int w_ratio_, h_ratio_;
 	//! Horizontal resolution of the composition in pixels per meter
 	Real x_res;
 	//! Vertical resolution of the composition in pixels per meter
 	Real y_res;
+	//! Horizontal resolution for fixed ratio
+	Real x_res_ratio_;
+	//! Vertical resolution for fixed ratio
+	Real y_res_ratio_;
 	//! The Top Left and the Bottom Right Points of the composition
 	Point tl_, br_;
-	//! The Focus Point of the compostion. Used when zooming in
+	//! The Focus Point of the composition. Used when zooming in
 	Point focus;
 	//! Anti-alias value
 	int a;
@@ -93,7 +101,7 @@ private:
 	//! The result of the flags combination.
 	//! \see enum Lock
 	int flags;
-	//! Interlaced flag for targets that suports it
+	//! Interlaced flag for targets that supports it
 	bool interlaced;
 	//! Clamp flag to decide if color must be clamped or not
 	bool clamp;
@@ -103,6 +111,8 @@ private:
 	float frame_rate;
 	//! Begin time and end time of the Composition to render
 	Time time_begin, time_end;
+	//! Transformation matrix which should be applied for each primitive before rendering
+	Matrix transformation_matrix;
 
 public:
 	//! Anti alias filers types. Seems never implemented
@@ -132,7 +142,8 @@ public:
 		render_excluded_contexts(false),
 		frame_rate	(24),
 		time_begin	(0),
-		time_end	(0)
+		time_end	(0),
+		AntialiasFilter(ANTIALIAS_UNIFORM)
 	{ }
 
 	//! Applies the given Render Description \x to the current one
@@ -266,6 +277,15 @@ public:
 	//!	Return the aspect ratio of the entire image
 	Point::value_type get_image_aspect()const;
 
+	//! Set the pixel ratio for LINK_IM_ASPECT flag
+	void set_pixel_ratio(const int &x, const int &y);
+
+	//! Get the reduced pixel ratio (based on euclide reduction)
+	void get_pixel_ratio_reduced(int &w_ratio_reduced, int &h_ratio_reduced);
+
+	//! Set the resolution ratio for LINK_RES flag
+	void set_res_ratio(const Real &x, const Real &y);
+
 	//! Return the antialias amount
 	const int &get_antialias()const;
 
@@ -311,6 +331,32 @@ public:
 	RendDesc &set_duration(Time t);
 	//! Gets the duration of the animation
 	const Time get_duration();
+	//! Sets the transformation matrix
+	void set_transformation_matrix(const Matrix &x) { transformation_matrix = x; }
+	//! Gets the transformation matrix
+	const Matrix& get_transformation_matrix() const { return transformation_matrix; }
+
+	Matrix get_world_to_pixels_matrix() const
+	{
+		const Real epsilon = 1e-20;
+		Vector size = get_br() - get_tl();
+		Vector ratio(
+			fabs(size[0]) < epsilon ? 0.0 : 1.0/size[0] * Real(get_w()),
+			fabs(size[1]) < epsilon ? 0.0 : 1.0/size[1] * Real(get_h()) );
+		return Matrix(
+			ratio[0], 0.0, 0.0,
+			0.0, ratio[1], 0.0,
+			-get_tl()[0]*ratio[0], -get_tl()[1]*ratio[1], 1.0 );
+	}
+
+	Matrix get_pixels_to_world_matrix() const
+	{
+		return Matrix(
+			(get_w() > 0 ? 0.0 : 1.0/Real(get_w())*(get_br()[0] - get_tl()[0])), 0.0, 0.0,
+			0.0, (get_h() > 0 ? 0.0 : 1.0/Real(get_h())*(get_br()[1] - get_tl()[1])), 0.0,
+			get_tl()[0], get_tl()[1], 1.0 );
+	}
+
 };	// END of class RendDesc
 
 //! This operator allows the combining of RendDesc::Lock flags using the '|' operator
diff --git a/src/synfig/render.cpp b/src/synfig/render.cpp
index 79a1220..a986f6c 100644
--- a/src/synfig/render.cpp
+++ b/src/synfig/render.cpp
@@ -483,7 +483,8 @@ synfig::render_threaded(
 			pipe_read,
 			pipe_write,
 			pid;
-		_render_thread()
+		_render_thread():
+			pipe_read(), pipe_write(), pid()
 		{
 			pipe(&pipe_read);
 			pid=0;
diff --git a/src/synfig/renderer.cpp b/src/synfig/renderer.cpp
new file mode 100644
index 0000000..fd6832d
--- /dev/null
+++ b/src/synfig/renderer.cpp
@@ -0,0 +1,254 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file synfig/renderer.cpp
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#ifndef WIN32
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#endif
+
+#include "renderer.h"
+
+#endif
+
+using namespace std;
+using namespace synfig;
+using namespace etl;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+Renderer::RendererId Renderer::last_registered_id = 0;
+Renderer::BookCreate Renderer::book_create;
+Renderer::BookCopy Renderer::book_copy;
+Renderer::BookConvert Renderer::book_convert;
+Renderer::BookConvertChain Renderer::book_convert_chain;
+
+
+// PrimitiveBase
+
+Renderer::PrimitiveBase::~PrimitiveBase() { }
+
+Renderer::PrimitiveBase::Map::iterator
+Renderer::PrimitiveBase::get_entry(RendererId renderer_id) const
+{
+	Map::iterator i = primitives.find(renderer_id);
+	if (i != primitives.end()) return i;
+
+	// try convert
+	const ConvertChainEntry *entry = NULL;
+	KeyConvert key(type, renderer_id, renderer_id);
+	for(Map::iterator j = primitives.begin(); j != primitives.end(); ++j)
+	{
+		key.renderer_id_from = j->first;
+		BookConvertChain::const_iterator k = book_convert_chain.find(key);
+		if (k != book_convert_chain.end())
+		{
+			if (entry == NULL || k->second.count < entry->count) {
+				i = j;
+				entry = &k->second;
+				if (entry->count == 0) break;
+			}
+		}
+	}
+
+	while (entry != NULL)
+	{
+		key.renderer_id_from = i->first;
+		key.renderer_id_to = entry->renderer_id_to;
+		PrimitiveDataBase::Handle primitive = entry->func(i->second);
+		if (!primitive) break;
+		i = primitives.insert(Pair(key.renderer_id_to, primitive)).first;
+		if (i->first == renderer_id) return i;
+		entry = entry->next;
+	}
+
+	return primitives.end();
+}
+
+Renderer::PrimitiveDataBase::ConstHandle
+Renderer::PrimitiveBase::get_primitive(RendererId renderer_id) const
+{
+	if (editing) return PrimitiveDataBase::ConstHandle();
+	Map::iterator i = get_entry(renderer_id);
+	return i == primitives.end()
+		 ? PrimitiveDataBase::ConstHandle()
+		 : PrimitiveDataBase::ConstHandle(i->second);
+}
+
+Renderer::PrimitiveDataBase::Handle
+Renderer::PrimitiveBase::begin_edit_primitive(RendererId renderer_id)
+{
+	if (editing) return PrimitiveDataBase::Handle();
+
+	// try create
+	if (primitives.empty())
+	{
+		BookCreate::const_iterator j = book_create.find(KeyCreate(type, renderer_id));
+		if (j == book_create.end()) return PrimitiveDataBase::Handle();
+		PrimitiveDataBase::Handle primitive = j->second();
+		return primitive ? (primitives[renderer_id] = primitive) : PrimitiveDataBase::Handle();
+	}
+
+	// try convert
+	Map::iterator i = get_entry(renderer_id);
+	if (i == primitives.end()) return PrimitiveDataBase::Handle();
+
+	// try to make copy if need
+	if (i->second.count() > 1)
+	{
+		BookCopy::const_iterator j = book_copy.find(KeyCreate(type, renderer_id));
+		if (j == book_copy.end()) return PrimitiveDataBase::Handle();
+		PrimitiveDataBase::Handle primitive = j->second(i->second);
+		if (!primitive) return PrimitiveDataBase::Handle();
+		i->second = primitive;
+	}
+
+	editing = true;
+
+	// remove all but i
+	for(Map::iterator j = primitives.begin(); j != primitives.end();)
+		if (j == i) ++j; else primitives.erase(j++);
+
+	return i->second;
+}
+
+void
+Renderer::PrimitiveBase::end_edit_primitive()
+{
+	editing = false;
+}
+
+
+// Renderer
+
+Renderer::Renderer()
+{
+	for(int i = 0; i < PrimitiveTypeCount; ++i)
+		supported_primitives[i] = false;
+}
+
+Renderer::~Renderer() { }
+
+void
+Renderer::build_convert_chain()
+{
+	// TODO:
+}
+
+void Renderer::register_renderer(int &id)
+{
+	if (id != 0) return;
+	id = ++last_registered_id;
+}
+
+void Renderer::register_func_create(const KeyCreate &key, FuncCreate func)
+{
+	if (book_create.count(key) == 0) book_create[key] = func;
+}
+
+void Renderer::register_func_copy(const KeyCopy &key, FuncCopy func)
+{
+	if (book_copy.count(key) == 0) book_copy[key] = func;
+}
+
+void Renderer::register_func_convert(const KeyConvert &key, FuncConvert func)
+{
+	if (book_convert.count(key) == 0) book_convert[key] = func;
+	build_convert_chain();
+}
+
+void Renderer::unregister_renderer(int &id)
+{
+	if (id == 0) return;
+	for(BookCreate::iterator i = book_create.begin(); i != book_create.end();)
+		if (i->first.renderer_id == id)
+			book_create.erase(i++); else ++i;
+	for(BookCopy::iterator i = book_copy.begin(); i != book_copy.end();)
+		if (i->first.renderer_id == id)
+			book_copy.erase(i++); else ++i;
+	for(BookConvert::iterator i = book_convert.begin(); i != book_convert.end();)
+		if (i->first.renderer_id_from == id || i->first.renderer_id_to == id)
+			book_convert.erase(i++); else ++i;
+	id = 0;
+	build_convert_chain();
+}
+
+Renderer::Result Renderer::render(const Params &params, const PrimitiveBase &primitive)
+{
+	switch(primitive.type)
+	{
+	case PrimitiveTypeSurface:
+	{
+		const Primitive<PrimitiveTypeSurface>* p =
+			dynamic_cast<const Primitive<PrimitiveTypeSurface>*>(&primitive);
+		return p == NULL ? ResultFail : Renderer::render_surface(params, *p);
+	}
+	case PrimitiveTypePolygon:
+	{
+		const Primitive<PrimitiveTypePolygon>* p =
+			dynamic_cast<const Primitive<PrimitiveTypePolygon>*>(&primitive);
+		return p == NULL ? ResultFail : Renderer::render_polygon(params, *p);
+	}
+	case PrimitiveTypeColoredPolygon:
+	{
+		const Primitive<PrimitiveTypeColoredPolygon>* p =
+			dynamic_cast<const Primitive<PrimitiveTypeColoredPolygon>*>(&primitive);
+		return p == NULL ? ResultFail : Renderer::render_colored_polygon(params, *p);
+	}
+	case PrimitiveTypeMesh:
+	{
+		const Primitive<PrimitiveTypeMesh>* p =
+			dynamic_cast<const Primitive<PrimitiveTypeMesh>*>(&primitive);
+		return p == NULL ? ResultFail : Renderer::render_mesh(params, *p);
+	}
+	default:
+		break;
+	}
+	return ResultFail;
+}
+
+Renderer::Result Renderer::render_surface(const Params &/* params */, const Primitive<PrimitiveTypeSurface> &/* primitive */)
+	{ return Renderer::ResultNotSupported; }
+Renderer::Result Renderer::render_polygon(const Params &/* params */, const Primitive<PrimitiveTypePolygon> &/* primitive */)
+	{ return Renderer::ResultNotSupported; }
+Renderer::Result Renderer::render_colored_polygon(const Params &/* params */, const Primitive<PrimitiveTypeColoredPolygon> &/* primitive */)
+	{ return Renderer::ResultNotSupported; }
+Renderer::Result Renderer::render_mesh(const Params &/* params */, const Primitive<PrimitiveTypeMesh> &/* primitive */)
+	{ return Renderer::ResultNotSupported; }
+
+
+/* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/renderer.h b/src/synfig/renderer.h
new file mode 100644
index 0000000..8f1e4ca
--- /dev/null
+++ b/src/synfig/renderer.h
@@ -0,0 +1,278 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file synfig/renderer.h
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_RENDERER_H
+#define __SYNFIG_RENDERER_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <ETL/handle>
+#include <map>
+#include <limits>
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+class Renderer
+{
+public:
+	typedef int RendererId;
+
+	enum PrimitiveType
+	{
+		PrimitiveTypeSurface,
+		PrimitiveTypePolygon,
+		PrimitiveTypeColoredPolygon,
+		PrimitiveTypeMesh
+	};
+
+	enum { PrimitiveTypeCount = 4 };
+
+	//! Base class of PrimitiveData (PrimitiveData base), NOT database
+	class PrimitiveDataBase: public etl::shared_object {
+	public:
+		typedef etl::handle<PrimitiveDataBase> Handle;
+		typedef etl::handle<const PrimitiveDataBase> ConstHandle;
+	};
+
+	template<typename T>
+	class PrimitiveData: public PrimitiveDataBase {
+	public:
+		typedef T Data;
+		typedef etl::handle<PrimitiveData> Handle;
+		typedef etl::handle<const PrimitiveData> ConstHandle;
+		Data data;
+	};
+
+	typedef PrimitiveDataBase::Handle (*FuncCreate)();
+	typedef PrimitiveDataBase::Handle (*FuncCopy)(PrimitiveDataBase::Handle primitive);
+	typedef PrimitiveDataBase::Handle (*FuncConvert)(PrimitiveDataBase::Handle primitive);
+
+	struct KeyCreate {
+		PrimitiveType primitive_type;
+		RendererId renderer_id;
+
+		inline KeyCreate():
+			primitive_type(PrimitiveTypeSurface), renderer_id(0) { }
+		inline KeyCreate(PrimitiveType primitive_type, RendererId renderer_id):
+			primitive_type(primitive_type), renderer_id(renderer_id) { }
+		inline bool operator < (const KeyCreate &other) const
+		{
+			return primitive_type < other.primitive_type ? true
+				 : other.primitive_type < primitive_type ? false
+				 : renderer_id < other.renderer_id;
+		}
+	};
+
+	typedef KeyCreate KeyCopy;
+
+	struct KeyConvert {
+		PrimitiveType primitive_type;
+		RendererId renderer_id_from;
+		RendererId renderer_id_to;
+
+		inline KeyConvert():
+			primitive_type(PrimitiveTypeSurface), renderer_id_from(0), renderer_id_to(0) { }
+		inline KeyConvert(PrimitiveType primitive_type, RendererId renderer_id_from, RendererId renderer_id_to):
+			primitive_type(primitive_type), renderer_id_from(renderer_id_from), renderer_id_to(renderer_id_to) { }
+		inline bool operator < (const KeyConvert &other) const
+		{
+			return primitive_type < other.primitive_type ? true
+				 : other.primitive_type < primitive_type ? false
+				 : renderer_id_from < other.renderer_id_from ? true
+				 : other.renderer_id_from < renderer_id_from ? false
+				 : renderer_id_to < other.renderer_id_to;
+		}
+	};
+
+	struct ConvertChainEntry {
+	public:
+		int count;
+		RendererId renderer_id_to;
+		ConvertChainEntry *next;
+		FuncConvert func;
+		inline ConvertChainEntry():
+			count(0), renderer_id_to(0), next(NULL), func(NULL) { }
+	};
+
+	typedef std::map<KeyCreate, FuncCreate> BookCreate;
+	typedef std::map<KeyCopy, FuncCopy> BookCopy;
+	typedef std::map<KeyConvert, FuncConvert> BookConvert;
+	typedef std::map<KeyConvert, ConvertChainEntry> BookConvertChain;
+
+private:
+	static RendererId last_registered_id;
+	static BookCreate book_create;
+	static BookCopy book_copy;
+	static BookConvert book_convert;
+	static BookConvertChain book_convert_chain;
+
+	static void build_convert_chain();
+
+protected:
+	static void register_renderer(int &id);
+	static void register_func_create(const KeyCreate &key, FuncCreate func);
+	static void register_func_copy(const KeyCopy &key, FuncCopy func);
+	static void register_func_convert(const KeyConvert &key, FuncConvert func);
+	static void unregister_renderer(int &id);
+
+	template<typename T>
+	static PrimitiveDataBase::Handle func_default_create()
+		{ return new T(); }
+
+	static PrimitiveDataBase::Handle func_default_convert(PrimitiveDataBase::Handle primitive)
+		{ return primitive; }
+
+public:
+	class PrimitiveBase
+	{
+	private:
+		typedef std::map<RendererId, PrimitiveDataBase::Handle> Map;
+		typedef Map::value_type Pair;
+		mutable Map primitives;
+		bool editing;
+
+	public:
+		const PrimitiveType type;
+
+	private:
+		Map::iterator get_entry(RendererId renderer_id) const;
+
+	protected:
+		inline PrimitiveBase(PrimitiveType type): editing(false), type(type) { }
+
+	public:
+		virtual ~PrimitiveBase();
+		inline bool is_editing() const { return editing; }
+		PrimitiveDataBase::ConstHandle get_primitive(RendererId renderer_id) const;
+		PrimitiveDataBase::Handle begin_edit_primitive(RendererId renderer_id);
+		void end_edit_primitive();
+	};
+
+	template<typename RendererType, Renderer::PrimitiveType primitive_type>
+	class TypesTemplate { };
+
+	template<PrimitiveType primitive_type>
+	class Primitive: public PrimitiveBase
+	{
+	public:
+		Primitive(): PrimitiveBase(primitive_type) { }
+
+		template<typename RendererType>
+		const typename TypesTemplate<RendererType, primitive_type>::Data* get()
+		{
+			typedef PrimitiveData<typename TypesTemplate<RendererType, primitive_type>::Data> PrimitiveData;
+			typedef typename PrimitiveData::ConstHandle ConstHandle;
+			ConstHandle handle =
+				ConstHandle::cast_dynamic(
+					PrimitiveBase::get_primitive(
+						TypesTemplate<RendererType, primitive_type>::get_id()));
+			return handle ? &handle->data : NULL;
+		}
+
+		template<typename RendererType>
+		typename TypesTemplate<RendererType, primitive_type>::Data* begin_edit()
+		{
+			PrimitiveDataBase::Handle base_handle =
+				PrimitiveBase::begin_edit_primitive(
+					TypesTemplate<RendererType, primitive_type>::get_id());
+			if (base_handle)
+			{
+				typedef typename TypesTemplate<RendererType, primitive_type>::Data Data;
+				typedef PrimitiveData<Data> PrimitiveData;
+				typedef typename PrimitiveData::Handle Handle;
+				Handle handle = Handle::cast_dynamic(base_handle);
+				if (handle) return &handle->data;
+				Renderer::PrimitiveBase::end_edit_primitive();
+			}
+			return NULL;
+		}
+
+		inline void end_edit() { Renderer::PrimitiveBase::end_edit_primitive(); }
+	};
+
+	template<typename T>
+	class TypesTemplateBase {
+		typedef T Data;
+		typedef PrimitiveData<Data> Primitive;
+	};
+
+	template<typename T>
+	class TypesBase
+	{
+	public:
+		typedef T RendererType;
+		typedef TypesTemplate<RendererType, PrimitiveTypeSurface> Surface;
+		typedef TypesTemplate<RendererType, PrimitiveTypePolygon> Polygon;
+		typedef TypesTemplate<RendererType, PrimitiveTypeColoredPolygon> ColoredPolygon;
+		typedef TypesTemplate<RendererType, PrimitiveTypeMesh> Mesh;
+	};
+
+	typedef Primitive<PrimitiveTypeSurface> PrimitiveSurface;
+	typedef Primitive<PrimitiveTypePolygon> PrimitivePolygon;
+	typedef Primitive<PrimitiveTypeColoredPolygon> PrimitiveColoredPolygon;
+	typedef Primitive<PrimitiveTypeMesh> PrimitiveMesh;
+
+	class Params {
+	public:
+		// TODO: blend method, color
+		PrimitiveBase *out_surface;
+		const PrimitiveBase *back_surface;
+		const PrimitiveBase *mesh_texture_surface;
+		inline Params(): out_surface(NULL), back_surface(NULL), mesh_texture_surface(NULL) { }
+	};
+
+	enum Result {
+		ResultSuccess,
+		ResultNotSupported,
+		ResultFail
+	};
+
+protected:
+	bool supported_primitives[PrimitiveTypeCount];
+
+public:
+	inline bool is_primitive_supported(PrimitiveType primitive_type)
+		{ return supported_primitives[primitive_type]; }
+
+	Renderer();
+	virtual ~Renderer();
+	virtual Result render(const Params &params, const PrimitiveBase &primitive);
+	virtual Result render_surface(const Params &params, const Primitive<PrimitiveTypeSurface> &primitive);
+	virtual Result render_polygon(const Params &params, const Primitive<PrimitiveTypePolygon> &primitive);
+	virtual Result render_colored_polygon(const Params &params, const Primitive<PrimitiveTypeColoredPolygon> &primitive);
+	virtual Result render_mesh(const Params &params, const Primitive<PrimitiveTypeMesh> &primitive);
+};
+
+}; /* end namespace synfig */
+
+/* -- E N D ----------------------------------------------------------------- */
+
+#endif
diff --git a/src/synfig/renderersoftware.cpp b/src/synfig/renderersoftware.cpp
new file mode 100644
index 0000000..23c44ff
--- /dev/null
+++ b/src/synfig/renderersoftware.cpp
@@ -0,0 +1,443 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file synfig/renderersoftware.cpp
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#ifndef WIN32
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#endif
+
+#include "renderersoftware.h"
+
+#endif
+
+using namespace std;
+using namespace synfig;
+using namespace etl;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+Renderer::RendererId RendererSoftware::id = 0;
+
+Renderer::RendererId RendererSoftware::get_id() { return id; }
+
+void RendererSoftware::initialize()
+{
+	if (id != 0) return;
+	register_renderer(id);
+	// TODO:
+}
+
+void RendererSoftware::deinitialize()
+{
+	unregister_renderer(id);
+}
+
+RendererSoftware::RendererSoftware()
+{
+	// TODO:
+}
+
+Renderer::Result RendererSoftware::render_surface(const Params &/* params */, const Primitive<PrimitiveTypeSurface> &/* primitive */)
+	{ return ResultNotSupported; }
+Renderer::Result RendererSoftware::render_polygon(const Params &/* params */, const Primitive<PrimitiveTypePolygon> &/* primitive */)
+	{ return ResultNotSupported; }
+Renderer::Result RendererSoftware::render_colored_polygon(const Params &/* params */, const Primitive<PrimitiveTypeColoredPolygon> &/* primitive */)
+	{ return ResultNotSupported; }
+Renderer::Result RendererSoftware::render_mesh(const Params &/* params */, const Primitive<PrimitiveTypeMesh> &/* primitive */)
+	{ return ResultNotSupported; }
+
+
+struct RendererSoftware::Helper {
+	enum { FIXED_SHIFT = sizeof(int)*8 };
+
+	inline static long long int_to_fixed(int i)
+		{ return (long long)i << FIXED_SHIFT; }
+	inline static int fixed_to_int(long long f)
+		{ return (int)(f >> FIXED_SHIFT); }
+
+	inline static void norm_tex_coords(Vector &coords, const Vector &size)
+	{
+		if (coords[0] < 0.0 || coords[0] > size[0])
+			coords[0] -= floor(coords[0]/size[0])*size[0];
+		if (coords[1] < 0.0 || coords[1] > size[1])
+			coords[1] -= floor(coords[1]/size[1])*size[1];
+	}
+};
+
+struct RendererSoftware::IntVector {
+	union {
+		struct { int x, y; };
+		int coords[2];
+	};
+
+	inline IntVector(): x(0), y(0) { }
+	inline IntVector(int x, int y): x(x), y(y) { }
+	inline IntVector(const Vector &v): x((int)roundf(v[0])), y((int)roundf(v[1])) { }
+	inline int& operator[] (int index) { return coords[index]; }
+	inline const int& operator[] (int index) const { return coords[index]; }
+	inline bool operator == (const IntVector &other) const { return x == other.x && y == other.y; }
+	inline bool operator != (const IntVector &other) const { return !(*this == other); }
+	inline IntVector operator+ (const IntVector &other) const { return IntVector(x+other.x, y+other.y); }
+	inline IntVector operator- (const IntVector &other) const { return IntVector(x-other.x, y-other.y); }
+
+	inline Vector to_real() const { return Vector(Real(x), Real(y)); }
+	inline long long get_fixed_x_div_y() { return y == 0 ? 0 : Helper::int_to_fixed(x)/y; }
+};
+
+void
+RendererSoftware::render_triangle(
+	synfig::Surface &target_surface,
+	const Vector &p0,
+	const Vector &p1,
+	const Vector &p2,
+	const Color &color,
+	Color::BlendMethod blend_method )
+{
+	// convert points to int
+	IntVector ip0(p0), ip1(p1), ip2(p2);
+	if (ip0 == ip1 || ip0 == ip2 || ip1 == ip2) return;
+
+	if (ip0.x < 0 && ip1.x < 0 && ip2.x < 0) return;
+	if (ip0.y < 0 && ip1.y < 0 && ip2.y < 0) return;
+
+	int width = target_surface.get_w();
+	int height = target_surface.get_h();
+	if (width == 0 || height == 0) return;
+
+	if (ip0.x >= width && ip1.x >= width && ip2.x >= width) return;
+	if (ip0.y >= height && ip1.y >= height && ip2.y >= height) return;
+
+	Surface::alpha_pen apen(target_surface.get_pen(0, 0));
+	apen.set_alpha(1.0);
+	apen.set_blend_method(blend_method);
+
+    // sort points
+    if (ip0.y > ip1.y) swap(ip0, ip1);
+    if (ip0.y > ip2.y) swap(ip0, ip2);
+    if (ip1.y > ip2.y) swap(ip1, ip2);
+
+    // increments
+    long long dx02 = (ip2-ip0).get_fixed_x_div_y();
+    long long dx01 = (ip1-ip0).get_fixed_x_div_y();
+    long long dx12 = (ip2-ip1).get_fixed_x_div_y();
+
+    // work points
+    // initially at top point (p0)
+    long long wx0 = Helper::int_to_fixed(ip0.x);
+    long long wx1 = wx0;
+
+    // process top part of triangle
+
+    // make copy of dx02
+    long long dx02_copy = dx02;
+    // sort increments
+    if (dx01 < dx02) swap(dx02, dx01);
+    // rasterize
+    for (int y = ip0.y; y < ip1.y; ++y)
+    {
+		// draw horizontal line (this code has a copy below)
+    	if (y >= 0 && y < height)
+    	{
+			int x0 = Helper::fixed_to_int(wx0);
+			int x1 = Helper::fixed_to_int(wx1);
+			if (x0 < 0) x0 = 0;
+			if (x1 >= width) x1 = width-1;
+			if (x1 >= x0)
+			{
+				apen.move_to(x0, y);
+				for(int x = x0; x <= x1; ++x)
+				{
+					apen.put_value(color);
+					apen.inc_x();
+				}
+			}
+    	}
+
+		wx0 += dx02;
+		wx1 += dx01;
+    }
+
+    if (ip0.y == ip1.y) {
+		wx0 = Helper::int_to_fixed(ip0.x);
+		wx1 = Helper::int_to_fixed(ip1.x);
+		if (wx0 > wx1) swap(wx0, wx1);
+    }
+
+    // process bottom part of triangle
+
+    // sort increments
+    if (dx02_copy < dx12) swap(dx02_copy, dx12);
+
+    // rasterize
+    for (int y = ip1.y; y <= ip2.y; ++y){
+		// draw horizontal line (this code has a copy above)
+    	if (y >= 0 && y < height)
+    	{
+			int x0 = Helper::fixed_to_int(wx0);
+			int x1 = Helper::fixed_to_int(wx1);
+			if (x0 < 0) x0 = 0;
+			if (x1 >= width) x1 = width-1;
+			if (x1 >= x0)
+			{
+				apen.move_to(x0, y);
+				for(int x = x0; x <= x1; ++x)
+				{
+					apen.put_value(color);
+					apen.inc_x();
+				}
+			}
+    	}
+
+		wx0 += dx02_copy;
+		wx1 += dx12;
+    }
+}
+
+void
+RendererSoftware::render_triangle(
+	synfig::Surface &target_surface,
+	const Vector &p0,
+	const Vector &t0,
+	const Vector &p1,
+	const Vector &t1,
+	const Vector &p2,
+	const Vector &t2,
+	const synfig::Surface &texture,
+	Real alpha,
+	Color::BlendMethod blend_method )
+{
+	if (t0[0] < 0.0 && t1[0] < 0.0 && t2[0] < 0.0) return;
+	if (t0[1] < 0.0 && t1[1] < 0.0 && t2[1] < 0.0) return;
+
+	// convert points to int
+	IntVector ip0(p0), ip1(p1), ip2(p2);
+	if (ip0 == ip1 || ip0 == ip2 || ip1 == ip2) return;
+
+	if (ip0.x < 0 && ip1.x < 0 && ip2.x < 0) return;
+	if (ip0.y < 0 && ip1.y < 0 && ip2.y < 0) return;
+
+	int width = target_surface.get_w();
+	int height = target_surface.get_h();
+	if (width == 0 || height == 0) return;
+
+	if (ip0.x >= width && ip1.x >= width && ip2.x >= width) return;
+	if (ip0.y >= height && ip1.y >= height && ip2.y >= height) return;
+
+	int tex_width = texture.get_w();
+	int tex_height = texture.get_h();
+	if (tex_width == 0 || tex_height == 0) return;
+	Vector tex_size = Vector(Real(tex_width), Real(tex_height));
+
+	if (t0[0] > tex_size[0] && t1[0] > tex_size[0] && t2[0] > tex_size[0]) return;
+	if (t0[1] > tex_size[1] && t1[1] > tex_size[1] && t2[1] > tex_size[1]) return;
+
+	// prepare texture matrix
+	Matrix matrix_of_texture_triangle(
+		t1[0]-t0[0], t1[1]-t0[1], 0.0,
+		t2[0]-t0[0], t2[1]-t0[1], 0.0,
+		t0[0], t0[1], 1.0 );
+	Matrix matrix_of_target_triangle(
+		p1[0]-p0[0], p1[1]-p0[1], 0.0,
+		p2[0]-p0[0], p2[1]-p0[1], 0.0,
+		p0[0], p0[1], 1.0 );
+	matrix_of_target_triangle.invert();
+
+	Matrix matrix = matrix_of_target_triangle * matrix_of_texture_triangle;
+	Vector tdx = matrix.get_transformed(Vector(1.0, 0.0), false);
+	//Vector tdy = matrix.get_transformed(Vector(0.0, 1.0), false);
+
+	Surface::alpha_pen apen(target_surface.get_pen(0, 0));
+	apen.set_alpha(alpha);
+	apen.set_blend_method(blend_method);
+
+    // sort points
+    if (ip0.y > ip1.y) swap(ip0, ip1);
+    if (ip0.y > ip2.y) swap(ip0, ip2);
+    if (ip1.y > ip2.y) swap(ip1, ip2);
+
+    // increments
+    long long dx02 = (ip2-ip0).get_fixed_x_div_y();
+    long long dx01 = (ip1-ip0).get_fixed_x_div_y();
+    long long dx12 = (ip2-ip1).get_fixed_x_div_y();
+
+    // work points
+    // initially at top point (p0)
+    long long wx0 = Helper::int_to_fixed(ip0.x);
+    long long wx1 = wx0;
+
+    // process top part of triangle
+
+    // make copy of dx02
+    long long dx02_copy = dx02;
+    // sort increments
+    if (dx01 < dx02) swap(dx02, dx01);
+    // rasterize
+    for (int y = ip0.y; y < ip1.y; ++y)
+    {
+		// draw horizontal line (this code has a copy below)
+    	if (y >= 0 && y < height)
+    	{
+			int x0 = Helper::fixed_to_int(wx0);
+			int x1 = Helper::fixed_to_int(wx1);
+			if (x0 < 0) x0 = 0;
+			if (x1 >= width) x1 = width-1;
+			if (x1 >= x0)
+			{
+				apen.move_to(x0, y);
+				Vector tex_point = matrix.get_transformed(Vector(Real(x0), Real(y)));
+				for(int x = x0; x <= x1; ++x)
+				{
+					if (tex_point[0] < 0.0 || tex_point[0] > tex_size[0]
+					 || tex_point[1] < 0.0 || tex_point[1] > tex_size[1])
+					{
+						apen.set_alpha(0.0);
+						apen.put_value(Color());
+					}
+					else
+					{
+						apen.set_alpha(alpha);
+						apen.put_value(texture.cubic_sample(tex_point[0], tex_point[1]));
+					}
+					apen.inc_x();
+					tex_point += tdx;
+				}
+			}
+    	}
+
+		wx0 += dx02;
+		wx1 += dx01;
+    }
+
+    if (ip0.y == ip1.y) {
+		wx0 = Helper::int_to_fixed(ip0.x);
+		wx1 = Helper::int_to_fixed(ip1.x);
+		if (wx0 > wx1) swap(wx0, wx1);
+    }
+
+    // process bottom part of triangle
+
+    // sort increments
+    if (dx02_copy < dx12) swap(dx02_copy, dx12);
+
+    // rasterize
+    for (int y = ip1.y; y <= ip2.y; ++y){
+		// draw horizontal line (this code has a copy above)
+    	if (y >= 0 && y < height)
+    	{
+			int x0 = Helper::fixed_to_int(wx0);
+			int x1 = Helper::fixed_to_int(wx1);
+			if (x0 < 0) x0 = 0;
+			if (x1 >= width) x1 = width-1;
+			if (x1 >= x0)
+			{
+				apen.move_to(x0, y);
+				Vector tex_point = matrix.get_transformed(Vector(Real(x0), Real(y)));
+				for(int x = x0; x <= x1; ++x)
+				{
+					if (tex_point[0] < 0.0 || tex_point[0] > tex_size[0]
+					 || tex_point[1] < 0.0 || tex_point[1] > tex_size[1])
+					{
+						apen.set_alpha(0.0);
+						apen.put_value(Color());
+					}
+					else
+					{
+						apen.set_alpha(alpha);
+						apen.put_value(texture.cubic_sample(tex_point[0], tex_point[1]));
+					}
+					apen.inc_x();
+					tex_point += tdx;
+				}
+			}
+    	}
+
+		wx0 += dx02_copy;
+		wx1 += dx12;
+    }
+}
+
+void
+RendererSoftware::render_polygon(
+	synfig::Surface &target_surface,
+	const synfig::Polygon &polygon,
+	const Matrix &transform_matrix,
+	const Color &color,
+	Color::BlendMethod blend_method )
+{
+	if (!target_surface.is_valid()) return;
+
+	for(synfig::Polygon::TriangleList::const_iterator i = polygon.triangles.begin(); i != polygon.triangles.end(); ++i)
+		render_triangle(
+			target_surface,
+			transform_matrix.get_transformed(polygon.vertices[i->vertices[0]]),
+			transform_matrix.get_transformed(polygon.vertices[i->vertices[1]]),
+			transform_matrix.get_transformed(polygon.vertices[i->vertices[2]]),
+			color,
+			blend_method );
+}
+
+
+void
+RendererSoftware::render_mesh(
+	synfig::Surface &target_surface,
+	const synfig::Mesh &mesh,
+	const synfig::Surface &texture,
+	const Matrix &transform_matrix,
+	const Matrix &texture_matrix,
+	Real alpha,
+	Color::BlendMethod blend_method )
+{
+	if (!target_surface.is_valid()) return;
+	if (!texture.is_valid()) return;
+
+	for(synfig::Mesh::TriangleList::const_iterator i = mesh.triangles.begin(); i != mesh.triangles.end(); ++i)
+		render_triangle(
+			target_surface,
+			transform_matrix.get_transformed(mesh.vertices[i->vertices[0]].position),
+			texture_matrix.get_transformed(mesh.vertices[i->vertices[0]].tex_coords),
+			transform_matrix.get_transformed(mesh.vertices[i->vertices[1]].position),
+			texture_matrix.get_transformed(mesh.vertices[i->vertices[1]].tex_coords),
+			transform_matrix.get_transformed(mesh.vertices[i->vertices[2]].position),
+			texture_matrix.get_transformed(mesh.vertices[i->vertices[2]].tex_coords),
+			texture,
+			alpha,
+			blend_method );
+}
+
+
+/* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/renderersoftware.h b/src/synfig/renderersoftware.h
new file mode 100644
index 0000000..9e41814
--- /dev/null
+++ b/src/synfig/renderersoftware.h
@@ -0,0 +1,115 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file synfig/renderersoftware.h
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_RENDERERSOFTWARE_H
+#define __SYNFIG_RENDERERSOFTWARE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "renderer.h"
+#include "surface.h"
+#include "vector.h"
+#include "mesh.h"
+#include "polygon.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig
+{
+
+class RendererSoftware;
+
+template<>
+class Renderer::TypesTemplate<RendererSoftware, Renderer::PrimitiveTypeSurface>:
+	public Renderer::TypesTemplateBase<synfig::Surface> { };
+
+template<>
+class Renderer::TypesTemplate<RendererSoftware, Renderer::PrimitiveTypeMesh>:
+	public Renderer::TypesTemplateBase<synfig::Mesh> { };
+
+class RendererSoftware: public Renderer {
+private:
+	static RendererId id;
+	struct Helper;
+	struct IntVector;
+public:
+	typedef RendererSoftware RendererType;
+	typedef Renderer::TypesBase<RendererType> Types;
+
+	static RendererId get_id();
+	static void initialize();
+	static void deinitialize();
+
+	static void render_triangle(
+		synfig::Surface &target_surface,
+		const Vector &p0,
+		const Vector &p1,
+		const Vector &p2,
+		const Color &color,
+		Color::BlendMethod blend_method );
+
+	static void render_triangle(
+		synfig::Surface &target_surface,
+		const Vector &p0,
+		const Vector &t0,
+		const Vector &p1,
+		const Vector &t1,
+		const Vector &p2,
+		const Vector &t2,
+		const synfig::Surface &texture,
+		Real alpha,
+		Color::BlendMethod blend_method );
+
+	static void render_polygon(
+		synfig::Surface &target_surface,
+		const synfig::Polygon &polygon,
+		const Matrix &transform_matrix,
+		const Color &color,
+		Color::BlendMethod blend_method );
+
+	static void render_mesh(
+		synfig::Surface &target_surface,
+		const synfig::Mesh &mesh,
+		const synfig::Surface &texture,
+		const Matrix &transform_matrix,
+		const Matrix &texture_matrix,
+		Real alpha,
+		Color::BlendMethod blend_method );
+
+	RendererSoftware();
+	virtual Result render_surface(const Params &params, const Primitive<PrimitiveTypeSurface> &primitive);
+	virtual Result render_polygon(const Params &params, const Primitive<PrimitiveTypePolygon> &primitive);
+	virtual Result render_colored_polygon(const Params &params, const Primitive<PrimitiveTypeColoredPolygon> &primitive);
+	virtual Result render_mesh(const Params &params, const Primitive<PrimitiveTypeMesh> &primitive);
+};
+
+}; /* end namespace synfig */
+
+/* -- E N D ----------------------------------------------------------------- */
+
+#endif
diff --git a/src/synfig/savecanvas.cpp b/src/synfig/savecanvas.cpp
index fa3940a..0db6c96 100644
--- a/src/synfig/savecanvas.cpp
+++ b/src/synfig/savecanvas.cpp
@@ -55,12 +55,17 @@
 #include "layer.h"
 #include "string.h"
 #include "paramdesc.h"
+#include "weightedvalue.h"
+#include "pair.h"
+
+#include "zstreambuf.h"
+#include "importer.h"
+#include "cairoimporter.h"
 
 #include <libxml++/libxml++.h>
 #include <ETL/stringf>
 #include "gradient.h"
 #include <errno.h>
-#include <sys/stat.h>
 
 extern "C" {
 #include <libxml/tree.h>
@@ -85,6 +90,8 @@ using namespace synfig;
 
 ReleaseVersion save_canvas_version = ReleaseVersion(RELEASE_VERSION_END-1);
 int valuenode_too_new_count;
+save_canvas_external_file_callback_t save_canvas_external_file_callback = NULL;
+void *save_canvas_external_file_user_data = NULL;
 
 /* === P R O C E D U R E S ================================================= */
 
@@ -214,12 +221,12 @@ xmlpp::Element* encode_segment(xmlpp::Element* root,Segment seg)
 
 xmlpp::Element* encode_bline_point(xmlpp::Element* root,BLinePoint bline_point)
 {
-	root->set_name(ValueBase::type_name(ValueBase::TYPE_BLINEPOINT));
+	root->set_name(type_bline_point.description.name);
 
 	encode_vector(root->add_child("vertex")->add_child("vector"),bline_point.get_vertex());
 	encode_vector(root->add_child("t1")->add_child("vector"),bline_point.get_tangent1());
 
-	if(bline_point.get_split_tangent_flag())
+	if(bline_point.get_split_tangent_both())
 		encode_vector(root->add_child("t2")->add_child("vector"),bline_point.get_tangent2());
 
 	encode_real(root->add_child("width")->add_child("real"),bline_point.get_width());
@@ -229,7 +236,7 @@ xmlpp::Element* encode_bline_point(xmlpp::Element* root,BLinePoint bline_point)
 
 xmlpp::Element* encode_width_point(xmlpp::Element* root,WidthPoint width_point)
 {
-	root->set_name(ValueBase::type_name(ValueBase::TYPE_WIDTHPOINT));
+	root->set_name(type_width_point.description.name);
 	encode_real(root->add_child("position")->add_child("real"),width_point.get_position());
 	encode_real(root->add_child("width")->add_child("real"),width_point.get_width());
 	encode_integer(root->add_child("side_before")->add_child("integer"),width_point.get_side_type_before());
@@ -239,7 +246,7 @@ xmlpp::Element* encode_width_point(xmlpp::Element* root,WidthPoint width_point)
 
 xmlpp::Element* encode_dash_item(xmlpp::Element* root, DashItem dash_item)
 {
-	root->set_name(ValueBase::type_name(ValueBase::TYPE_DASHITEM));
+	root->set_name(type_dash_item.description.name);
 	encode_real(root->add_child("offset")->add_child("real"),dash_item.get_offset());
 	encode_real(root->add_child("length")->add_child("real"),dash_item.get_length());
 	encode_integer(root->add_child("side_before")->add_child("integer"),dash_item.get_side_type_before());
@@ -263,86 +270,141 @@ xmlpp::Element* encode_gradient(xmlpp::Element* root,Gradient x)
 
 xmlpp::Element* encode_value(xmlpp::Element* root,const ValueBase &data,Canvas::ConstHandle canvas=0);
 
-xmlpp::Element* encode_list(xmlpp::Element* root,std::list<ValueBase> list, Canvas::ConstHandle canvas=0)
+xmlpp::Element* encode_list(xmlpp::Element* root,std::vector<ValueBase> list, Canvas::ConstHandle canvas=0)
 {
 	root->set_name("list");
 
 	while(!list.empty())
 	{
 		encode_value(root->add_child("value"),list.front(),canvas);
-		list.pop_front();
+		list.erase(list.begin());
 	}
 
 	return root;
 }
 
+xmlpp::Element* encode_transformation(xmlpp::Element* root,const Transformation &transformation)
+{
+	root->set_name("transformation");
+	encode_vector(root->add_child("offset")->add_child("vector"),transformation.offset);
+	encode_angle(root->add_child("angle")->add_child("angle"),transformation.angle);
+	encode_angle(root->add_child("skew_angle")->add_child("angle"),transformation.skew_angle);
+	encode_vector(root->add_child("scale")->add_child("vector"),transformation.scale);
+	return root;
+}
+
+xmlpp::Element* encode_weighted_value(xmlpp::Element* root,types_namespace::TypeWeightedValueBase &type, const ValueBase &data,Canvas::ConstHandle canvas)
+{
+	root->set_name(type.description.name);
+	encode_real(root->add_child("weight")->add_child("real"), type.extract_weight(data));
+	encode_value(root->add_child("value")->add_child("value"), type.extract_value(data), canvas);
+	return root;
+}
+
+xmlpp::Element* encode_pair(xmlpp::Element* root,types_namespace::TypePairBase &type, const ValueBase &data,Canvas::ConstHandle canvas)
+{
+	root->set_name(type.description.name);
+	encode_value(root->add_child("first")->add_child("value"), type.extract_first(data), canvas);
+	encode_value(root->add_child("second")->add_child("value"), type.extract_second(data), canvas);
+	return root;
+}
+
 xmlpp::Element* encode_value(xmlpp::Element* root,const ValueBase &data,Canvas::ConstHandle canvas)
 {
-	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value (type %s)\n", __FILE__, __LINE__, ValueBase::type_name(data.get_type()).c_str());
-	switch(data.get_type())
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value (type %s)\n", __FILE__, __LINE__, data.get_type().description.name.c_str());
+	Type &type(data.get_type());
+	if (type == type_real)
 	{
-	case ValueBase::TYPE_REAL:
 		encode_real(root,data.get(Real()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_TIME:
+	}
+	if (type == type_time)
+	{
 		encode_time(root,data.get(Time()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_INTEGER:
+	}
+	if (type == type_integer)
+	{
 		encode_integer(root,data.get(int()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_COLOR:
+	}
+	if (type == type_color)
+	{
 		encode_color(root,data.get(Color()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_VECTOR:
+	}
+	if (type == type_vector)
+	{
 		encode_vector(root,data.get(Vector()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_ANGLE:
+	}
+	if (type == type_angle)
+	{
 		encode_angle(root,data.get(Angle()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_BOOL:
+	}
+	if (type == type_bool)
+	{
 		encode_bool(root,data.get(bool()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_STRING:
+	}
+	if (type == type_string)
+	{
 		encode_string(root,data.get(String()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_SEGMENT:
+	}
+	if (type == type_segment)
+	{
 		encode_segment(root,data.get(Segment()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_BLINEPOINT:
+	}
+	if (type == type_bline_point)
 		return encode_bline_point(root,data.get(BLinePoint()));
-	case ValueBase::TYPE_WIDTHPOINT:
+	if (type == type_width_point)
 		return encode_width_point(root,data.get(WidthPoint()));
-	case ValueBase::TYPE_DASHITEM:
+	if (type == type_dash_item)
 		return encode_dash_item(root,data.get(DashItem()));
-	case ValueBase::TYPE_GRADIENT:
+	if (type == type_gradient)
+	{
 		encode_gradient(root,data.get(Gradient()));
 		encode_static(root, data.get_static());
 		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	case ValueBase::TYPE_LIST:
-		return encode_list(root,data,canvas);
-	case ValueBase::TYPE_CANVAS:
-		return encode_canvas(root,data.get(Canvas::Handle()).get());
+	}
+	if (type == type_transformation)
+	{
+		encode_transformation(root,data.get(Transformation()));
 		encode_static(root, data.get_static());
-	case ValueBase::TYPE_VALUENODE_BONE:
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
+	}
+	if (type == type_list)
+		return encode_list(root,data.get_list(),canvas);
+	if (type == type_canvas)
+	{
+		return encode_canvas(root,data.get(Canvas::Handle()).get());
+		//encode_static(root, data.get_static());
+	}
+	if (type == type_bone_valuenode)
+	{
 		if (!canvas)
 		{
 			printf("%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
@@ -352,15 +414,31 @@ xmlpp::Element* encode_value(xmlpp::Element* root,const ValueBase &data,Canvas::
 		root = encode_value_node_bone_id(root,data.get(ValueNode_Bone::Handle()).get(),canvas);
 		root->set_name("bone_valuenode");
 		return root;
-	case ValueBase::TYPE_NIL:
-		synfig::error("Encountered NIL ValueBase");
-		root->set_name("nil");
+	}
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		encode_weighted_value(root, *dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type), data, canvas);
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
+	}
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		encode_pair(root, *dynamic_cast<types_namespace::TypePairBase*>(&type), data, canvas);
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
 		return root;
-	default:
-		synfig::error(strprintf(_("Unknown value(%s), cannot create XML representation!"),ValueBase::type_local_name(data.get_type()).c_str()));
+	}
+	if (type == type_nil)
+	{
+		synfig::error("Encountered NIL ValueBase");
 		root->set_name("nil");
 		return root;
 	}
+
+	synfig::error(strprintf(_("Unknown value(%s), cannot create XML representation!"), data.get_type().description.local_name.c_str()));
+	root->set_name("nil");
+	return root;
 }
 
 xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHandle value_node,Canvas::ConstHandle canvas=0)
@@ -368,7 +446,7 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 	assert(value_node);
 	root->set_name("animated");
 
-	root->set_attribute("type",ValueBase::type_name(value_node->get_type()));
+	root->set_attribute("type",value_node->get_type().description.name);
 
 	const ValueNode_Animated::WaypointList &waypoint_list=value_node->waypoint_list();
 	ValueNode_Animated::WaypointList::const_iterator iter;
@@ -387,7 +465,7 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 			if(ValueNode_Const::ConstHandle::cast_dynamic(value_node))
 			{
 				const ValueBase data = ValueNode_Const::ConstHandle::cast_dynamic(value_node)->get_value();
-				if (data.get_type() == ValueBase::TYPE_CANVAS)
+				if (data.get_type() == type_canvas)
 					waypoint_node->set_attribute("use",data.get(Canvas::Handle()).get()->get_relative_id(canvas));
 				else
 					encode_value_node(waypoint_node->add_child("value_node"),iter->get_value_node(),canvas);
@@ -433,7 +511,7 @@ xmlpp::Element* encode_subtract(xmlpp::Element* root,ValueNode_Subtract::ConstHa
 	assert(lhs);
 	assert(rhs);
 
-	root->set_attribute("type",ValueBase::type_name(value_node->get_type()));
+	root->set_attribute("type",value_node->get_type().description.name);
 
 	if(lhs==rhs)
 		warning("LHS is equal to RHS, this <subtract> will always be zero!");
@@ -466,7 +544,7 @@ xmlpp::Element* encode_static_list(xmlpp::Element* root,ValueNode_StaticList::Co
 
 	root->set_name(value_node->get_name());
 
-	root->set_attribute("type",ValueBase::type_name(value_node->get_contained_type()));
+	root->set_attribute("type",value_node->get_contained_type().description.name);
 
 	vector<ValueNode::RHandle>::const_iterator iter;
 
@@ -494,7 +572,7 @@ xmlpp::Element* encode_dynamic_list(xmlpp::Element* root,ValueNode_DynamicList::
 
 	root->set_name(value_node->get_name());
 
-	root->set_attribute("type",ValueBase::type_name(value_node->get_contained_type()));
+	root->set_attribute("type",value_node->get_contained_type().description.name);
 
 	vector<ValueNode_DynamicList::ListEntry>::const_iterator iter;
 
@@ -606,7 +684,7 @@ xmlpp::Element* encode_linkable_value_node(xmlpp::Element* root,LinkableValueNod
 
 	root->set_name(name);
 
-	root->set_attribute("type",ValueBase::type_name(value_node->get_type()));
+	root->set_attribute("type",value_node->get_type().description.name);
 
 	int i;
 	synfig::ParamVocab child_vocab(value_node->get_children_vocab());
@@ -724,7 +802,7 @@ xmlpp::Element* encode_value_node_bone(xmlpp::Element* root,ValueNode::ConstHand
 xmlpp::Element* encode_value_node_bone_id(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas)
 {
 	root->set_name("bone");
-	root->set_attribute("type",ValueBase::type_name(ValueBase::TYPE_BONE));
+	root->set_attribute("type",type_bone_object.description.name);
 	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node_bone_id %s %s\n", __FILE__, __LINE__, value_node->get_string().c_str(), value_node->get_guid().get_string().c_str());
 	if(!value_node->get_id().empty())
 		root->set_attribute("id",value_node->get_id());
@@ -794,7 +872,7 @@ xmlpp::Element* encode_layer(xmlpp::Element* root,Layer::ConstHandle layer)
 				continue;
 			}
 
-			if(value.get_type()==ValueBase::TYPE_CANVAS)
+			if(value.get_type()==type_canvas)
 			{
 				// the ->is_inline() below was crashing if the canvas
 				// contained a PasteCanvas with the default <No Image
@@ -819,6 +897,28 @@ xmlpp::Element* encode_layer(xmlpp::Element* root,Layer::ConstHandle layer)
 			xmlpp::Element *node=root->add_child("param");
 			node->set_attribute("name",iter->get_name());
 
+			// remember filename param if need
+			if (save_canvas_external_file_callback != NULL
+			 && iter->get_name() == "filename"
+			 && value.get_type() == type_string)
+			{
+				std::string filename( value.get(String()) );
+				std::string ext = filename_extension(filename);
+				if (!ext.empty()) ext = ext.substr(1); // skip initial '.'
+				bool registered_in_importer = Importer::book().count(ext) > 0;
+				bool supports_by_importer = registered_in_importer
+						                 && Importer::book()[ext].supports_file_system_wrapper;
+				bool registered_in_cairoimporter = CairoImporter::book().count(ext) > 0;
+				bool supports_by_cairoimporter = registered_in_cairoimporter
+						                      && CairoImporter::book()[ext].supports_file_system_wrapper;
+				bool supports = (supports_by_importer && supports_by_cairoimporter)
+						     || (supports_by_importer && !registered_in_cairoimporter)
+						     || (!registered_in_importer && supports_by_cairoimporter);
+				if (supports)
+					if (save_canvas_external_file_callback(save_canvas_external_file_user_data, layer, iter->get_name(), filename))
+						value.set(filename);
+			}
+
 			encode_value(node->add_child("value"),value,layer->get_canvas().constant());
 		}
 	}
@@ -973,16 +1073,11 @@ xmlpp::Element* encode_canvas_toplevel(xmlpp::Element* root,Canvas::ConstHandle
 }
 
 bool
-synfig::save_canvas(const String &filename, Canvas::ConstHandle canvas)
+synfig::save_canvas(const FileSystem::Identifier &identifier, Canvas::ConstHandle canvas, bool safe)
 {
     ChangeLocale change_locale(LC_NUMERIC, "C");
 
-	synfig::String tmp_filename(filename+".TMP");
-
-	if (filename_extension(filename) == ".sifz")
-		xmlSetCompressMode(9);
-	else
-		xmlSetCompressMode(0);
+    synfig::String tmp_filename(safe ? identifier.filename+".TMP" : identifier.filename);
 
 	try
 	{
@@ -991,34 +1086,29 @@ synfig::save_canvas(const String &filename, Canvas::ConstHandle canvas)
 
 		encode_canvas_toplevel(document.create_root_node("canvas"),canvas);
 
-		document.write_to_file_formatted(tmp_filename);
-
-#ifdef _WIN32
-		// On Win32 platforms, rename() has bad behavior. Work around it.
-		
-		// Make random filename and ensure there's no file with such name exist
-		struct stat buf;
-		String old_file;
-		do {
-			synfig::GUID guid;
-			old_file = filename+"."+guid.get_string().substr(0,8);
-		} while (stat(old_file.c_str(), &buf) != -1);
-		
-		rename(filename.c_str(),old_file.c_str());
-		if(rename(tmp_filename.c_str(),filename.c_str())!=0)
+		FileSystem::WriteStreamHandle stream = identifier.file_system->get_write_stream(tmp_filename);
+		if (!stream)
 		{
-			rename(old_file.c_str(),tmp_filename.c_str());
-			synfig::error("synfig::save_canvas(): Unable to rename file to correct filename, errno=%d",errno);
+			synfig::error("synfig::save_canvas(): Unable to open file for write");
 			return false;
 		}
-		remove(old_file.c_str());
-#else
-		if(rename(tmp_filename.c_str(),filename.c_str())!=0)
+
+		if (filename_extension(identifier.filename) == ".sifz")
+			stream = FileSystem::WriteStreamHandle(new ZWriteStream(stream));
+
+		document.write_to_stream_formatted(*stream, "UTF-8");
+
+		// close stream
+		stream.reset();
+
+		if (safe)
 		{
-			synfig::error("synfig::save_canvas(): Unable to rename file to correct filename, errno=%d",errno);
-			return false;
+			if(!identifier.file_system->file_rename(tmp_filename, identifier.filename))
+			{
+				synfig::error("synfig::save_canvas(): Unable to rename file to correct filename");
+				return false;
+			}
 		}
-#endif
 	}
 	catch(...) { synfig::error("synfig::save_canvas(): Caught unknown exception"); return false; }
 
@@ -1039,6 +1129,13 @@ synfig::canvas_to_string(Canvas::ConstHandle canvas)
 }
 
 void
+synfig::set_save_canvas_external_file_callback(save_canvas_external_file_callback_t callback, void *user_data)
+{
+	save_canvas_external_file_callback = callback;
+	save_canvas_external_file_user_data = user_data;
+}
+
+void
 synfig::set_file_version(ReleaseVersion version)
 {
 	save_canvas_version = version;
diff --git a/src/synfig/savecanvas.h b/src/synfig/savecanvas.h
index 6eb3f59..dc57061 100644
--- a/src/synfig/savecanvas.h
+++ b/src/synfig/savecanvas.h
@@ -28,9 +28,11 @@
 
 /* === H E A D E R S ======================================================= */
 
+#include <list>
 #include "string.h"
 #include "canvas.h"
 #include "releases.h"
+#include "layer.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -42,14 +44,19 @@ namespace synfig {
 
 /* === E X T E R N S ======================================================= */
 
+typedef bool (*save_canvas_external_file_callback_t)(void *user_data, Layer::ConstHandle layer, const std::string &param_name, std::string &filename);
+
+
 //!	Saves a canvas to \a filename
 /*!	\return	\c true on success, \c false on error. */
-bool save_canvas(const String &filename, Canvas::ConstHandle canvas);
+bool save_canvas(const FileSystem::Identifier &identifier, Canvas::ConstHandle canvas, bool safe = true);
 
 //! Stores a Canvas in a string in XML format
 /*! \return The string with the XML canvas definition */
 String canvas_to_string(Canvas::ConstHandle canvas);
 
+void set_save_canvas_external_file_callback(save_canvas_external_file_callback_t callback, void *user_data);
+
 void set_file_version(ReleaseVersion version);
 ReleaseVersion get_file_version();
 
diff --git a/src/synfig/soundprocessor.cpp b/src/synfig/soundprocessor.cpp
new file mode 100644
index 0000000..730dfa0
--- /dev/null
+++ b/src/synfig/soundprocessor.cpp
@@ -0,0 +1,210 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file synfig/soundprocessor.cpp
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#ifndef WIN32
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#endif
+
+#include "soundprocessor.h"
+#include <Mlt.h>
+#include <cmath>
+#include <vector>
+
+#endif
+
+using namespace std;
+using namespace synfig;
+using namespace etl;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+class SoundProcessor::Internal
+{
+public:
+	static bool initialized;
+	std::vector<PlayOptions> stack;
+	Mlt::Profile profile;
+	Mlt::Producer *last_track;
+	Mlt::Consumer *consumer;
+	Time position;
+
+	void clear()
+	{
+		if (last_track != NULL) { delete last_track; last_track = NULL; }
+		if (consumer != NULL) { consumer->stop(); delete consumer; consumer = NULL; }
+		stack.clear();
+		stack.push_back(PlayOptions());
+	}
+
+	Internal(): last_track(), consumer(), position(0.0) { clear(); }
+	~Internal() { clear(); }
+};
+
+bool SoundProcessor::Internal::initialized = false;
+
+SoundProcessor::SoundProcessor()
+{
+	if (!Internal::initialized)
+	{
+		Mlt::Factory::init();
+		Internal::initialized = true;
+	}
+	internal = new Internal();
+}
+SoundProcessor::~SoundProcessor() { delete internal; }
+
+void SoundProcessor::clear()
+{
+	internal->clear();
+}
+
+void SoundProcessor::beginGroup(const PlayOptions &playOptions)
+{
+	internal->stack.push_back(PlayOptions(
+		internal->stack.back().delay + playOptions.delay,
+		internal->stack.back().volume * playOptions.volume ));
+}
+
+void SoundProcessor::endGroup()
+{
+	assert(internal->stack.size() > 1);
+	if (internal->stack.size() > 1)
+		internal->stack.pop_back();
+}
+
+void SoundProcessor::addSound(const PlayOptions &playOptions, const Sound &sound)
+{
+	PlayOptions options(
+			internal->stack.back().delay + playOptions.delay,
+			internal->stack.back().volume * playOptions.volume );
+	if (options.volume <= 0.0) return;
+
+	// Create track
+	String filename;
+	filename = String("avformat:")+sound.filename;
+	
+	Mlt::Producer *track = new Mlt::Producer(internal->profile, filename.c_str());
+	if (track->get_producer() == NULL) { delete track; return; }
+	int delay = (int)round(options.delay*internal->profile.fps());
+	if (-delay >= track->get_length()) { delete track; return; }
+	if (delay < 0) {
+		// cut
+		track->set_in_and_out(-delay, -1);
+	} else
+	if (delay > 0) {
+		Mlt::Playlist *playlist = new Mlt::Playlist();
+		playlist->blank(delay);
+		playlist->append(*track);
+		delete track;
+		track = playlist;
+	}
+
+	if (internal->last_track == NULL)
+		{ internal->last_track = track; return; }
+
+	set_position(0.0);
+
+	// Combine tracks
+	Mlt::Tractor *tractor = new Mlt::Tractor();
+
+	Mlt::Multitrack *multitrack = tractor->multitrack();
+	multitrack->connect(*internal->last_track, 0);
+	multitrack->connect(*track, 1);
+	delete multitrack;
+
+	Mlt::Transition transition(internal->profile, "mix");
+	transition.set("combine", 1);
+	Mlt::Field *field = tractor->field();
+	field->plant_transition(transition, 0, 1);
+	delete field;
+
+	delete internal->last_track;
+	internal->last_track = tractor;
+}
+
+Time SoundProcessor::get_position() const
+{
+	return Time(internal->last_track == NULL ? 0.0 :
+				(double)internal->last_track->position()/internal->profile.fps() );
+}
+
+void SoundProcessor::set_position(Time value)
+{
+	if (internal->last_track != NULL)
+	{
+		internal->last_track->seek( (int)round(value*internal->profile.fps()) );
+		internal->last_track->set_speed(1.0);
+	}
+}
+
+bool SoundProcessor::get_playing() const
+{
+	return internal->consumer != NULL;
+}
+
+void SoundProcessor::set_playing(bool value)
+{
+	if (value)
+	{
+		if (internal->consumer == NULL)
+		{
+			internal->consumer = new Mlt::Consumer(internal->profile, "sdl_audio");
+			if (internal->last_track != NULL)
+			{
+				internal->consumer->connect(*internal->last_track);
+				internal->consumer->start();
+			}
+		}
+	}
+	else
+	{
+		if (internal->consumer != NULL)
+		{
+			internal->consumer->stop();
+			delete internal->consumer;
+			internal->consumer = NULL;
+		}
+	}
+}
+
+bool SoundProcessor::subsys_init() { return Mlt::Factory::init(); }
+bool SoundProcessor::subsys_stop() { return true; }
+
+
+/* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/render.h b/src/synfig/soundprocessor.h
similarity index 52%
copy from src/synfig/render.h
copy to src/synfig/soundprocessor.h
index 36e394e..bcbe36e 100644
--- a/src/synfig/render.h
+++ b/src/synfig/soundprocessor.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file synfig/render.h
+/*!	\file synfig/soundprocessor.h
 **	\brief Template Header
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2012-2013 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,22 +22,19 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_RENDER_H
-#define __SYNFIG_RENDER_H
+#ifndef __SYNFIG_SOUNDPROCESSOR_H
+#define __SYNFIG_SOUNDPROCESSOR_H
 
 /* === H E A D E R S ======================================================= */
 
-#include "target_scanline.h"
-#include "target_cairo.h"
-#include "vector.h"
-#include "color.h"
-#include "renddesc.h"
-#include "general.h"
-#include "layer.h"
-#include "canvas.h"
 #include <ETL/handle>
+#include <map>
+#include <limits>
+
+#include "time.h"
+#include "real.h"
+#include "filesystem.h"
 
-#include "cairo.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -46,24 +42,51 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-namespace synfig {
+namespace synfig
+{
 
-//! Renders starting at \a context to \a target
-/*! \warning \a Target::set_rend_desc() must have
-**		already been called on \a target before
-**		you call this function!
-*/
-extern bool render(Context context, Target_Scanline::Handle target, const RendDesc &desc,ProgressCallback *);
-extern bool cairorender(Context context, cairo_surface_t* surface, const RendDesc &desc, ProgressCallback *cb=NULL);
-extern bool cairorender(Context context, cairo_t* cr, const RendDesc &desc, ProgressCallback *cb=NULL);
+class SoundProcessor
+{
+public:
+	class PlayOptions {
+	public:
+		Time delay;
+		Real volume;
+		PlayOptions(): delay(0.0), volume(1.0) { }
+		explicit PlayOptions(Time delay, Real volume): delay(delay), volume(volume) { }
+	};
+
+	class Sound {
+	public:
+		String filename;
+		Sound(): filename() { }
+		explicit Sound(const String &filename): filename(FileSystem::fix_slashes(filename)) { }
+	};
+
+private:
+	class Internal;
+	Internal *internal;
+
+public:
+	SoundProcessor();
+	~SoundProcessor();
+
+	void clear();
+
+	void beginGroup(const PlayOptions &playOptions);
+	void endGroup();
+
+	void addSound(const PlayOptions &playOptions, const Sound &sound);
+
+	Time get_position() const;
+	void set_position(Time value);
 
-extern bool parametric_render(Context context, Surface &surface, const RendDesc &desc,ProgressCallback *);
+	bool get_playing() const;
+	void set_playing(bool value);
 
-extern bool render_threaded(	Context context,
-	Target_Scanline::Handle target,
-	const RendDesc &desc,
-	ProgressCallback *callback,
-	int threads);
+	static bool subsys_init();
+	static bool subsys_stop();
+};
 
 }; /* end namespace synfig */
 
diff --git a/src/synfig/surface.cpp b/src/synfig/surface.cpp
index 2a3f070..76534f1 100644
--- a/src/synfig/surface.cpp
+++ b/src/synfig/surface.cpp
@@ -114,13 +114,10 @@ public:
 	virtual bool end_scanline();
 };
 
-target2surface::target2surface(Surface *surface):surface(surface)
-{
-}
+target2surface::target2surface(Surface *surface):
+	surface(surface), sized() { }
 
-target2surface::~target2surface()
-{
-}
+target2surface::~target2surface() { }
 
 bool
 target2surface::set_rend_desc(synfig::RendDesc *newdesc)
diff --git a/src/synfig/surfacenew.cpp b/src/synfig/surfacenew.cpp
deleted file mode 100644
index aaed5e7..0000000
--- a/src/synfig/surfacenew.cpp
+++ /dev/null
@@ -1,706 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!	\file surfacenew.cpp
-**	\brief Template File
-**
-**	$Id$
-**
-**	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**	This package is free software; you can redistribute it and/or
-**	modify it under the terms of the GNU General Public License as
-**	published by the Free Software Foundation; either version 2 of
-**	the License, or (at your option) any later version.
-**
-**	This package is distributed in the hope that it will be useful,
-**	but WITHOUT ANY WARRANTY; without even the implied warranty of
-**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-**	General Public License for more details.
-**	\endlegal
-*/
-/* ========================================================================= */
-
-/* === H E A D E R S ======================================================= */
-
-#ifdef USING_PCH
-#	include "pch.h"
-#else
-#ifdef HAVE_CONFIG_H
-#	include <config.h>
-#endif
-
-#include "surfacenew.h"
-#include <ETL/ref_count>
-#include "mutex.h"
-
-#endif
-
-/* === U S I N G =========================================================== */
-
-using namespace std;
-using namespace etl;
-using namespace synfig;
-
-/* === M A C R O S ========================================================= */
-
-/* === G L O B A L S ======================================================= */
-
-/* === P R O C E D U R E S ================================================= */
-
-/* === C L A S S E S & S T R U C T S ======================================= */
-
-class SurfaceNew::ChannelData
-{
-private:
-	etl::reference_counter ref_count_;
-
-	float* data_;
-	float* origin_;
-
-	int w_,h_,stride_;
-
-public:
-
-	RWLock rw_lock;
-
-	ChannelData():
-		is_defined_(false),
-		data_(0),
-		origin_(0),
-		w_(0),
-		h_(0)
-	{
-	}
-
-	~ChannelData()
-	{
-		if(ref_count_.unique())
-			delete [] data_;
-	}
-
-	void set_wh(int w, int h)
-	{
-		w_=w;
-		h_=h;
-		stride_=w;
-
-		if(data_&&ref_count_.is_unique())
-			delete [] data_;
-
-		ref_count.make_unique();
-		data_=new float [w_*h_];
-		origin_=data_;
-		clear();
-	}
-
-	void crop(int x, int y, int w, int h)
-	{
-		origin_=origin+y*stride_+x;
-		w_=w;
-		h_=h;
-	}
-
-	int get_stride()const
-	{
-		return stride_;
-	}
-
-	void clear()
-	{
-		for(int i=0;i<h;i++)
-			bzero(origin_+stride_*i,w_*sizeof(float));
-	}
-
-	void fill(float v)
-	{
-		float* ptr(get_data());
-
-		for(int y=0;y<h;y++,ptr+=stride_)
-			for(int i=0;i<w_;i++)
-				ptr[i]=v;
-	}
-
-	float* get_data() { return origin_; }
-
-	void make_unique()
-	{
-		if(!ref_count_.unique())
-		{
-			ref_count_.make_unique();
-			float* old_data(origin_);
-			int old_stride;
-
-			data_=new float [w_*h_];
-			origin_=data_;
-			stride_=w_;
-
-			for(int i=0;i<h;i++)
-				memcpy(data_+i*stride_,old_data+i*old_stride,sizeof(float)*w_);
-		}
-	}
-}; // END of class ChannelData
-
-/* === M E T H O D S ======================================================= */
-
-SurfaceNew::SurfaceNew():
-	w_(0),
-	h_(0),
-	color_system_(COLORSYS_RGB),
-	premult_flag_(false)
-{
-}
-
-SurfaceNew~SurfaceNew()
-{
-}
-
-SurfaceNew::Handle
-SurfaceNew::create(int w, int h, ColorSystem sys=COLORSYS_RGB)
-{
-	Handle ret(new SurfaceNew);
-
-	ret.set_wh(w,h);
-	ret.set_color_system(sys);
-
-	return ret;
-}
-
-SurfaceNew::Handle
-SurfaceNew::create(const Surface&)
-{
-	// ***WRITEME***
-	return 0;
-}
-
-SurfaceNew::Handle
-SurfaceNew::create(HandleConst orig)
-{
-	Lock lock(orig);
-
-	Handle ret(new SurfaceNew);
-
-	ret.w_=orig.w_;
-	ret.h_=orig.h_;
-	ret.color_system_=orig.color_system_;
-	ret.premult_flag_=orig.premult_flag_;
-	ret.channel_map_=orig.channel_map_;
-
-	return ret;
-}
-
-Handle
-SurfaceNew::crop(HandleConst, int x, int y, int w, int h)
-{
-	Lock lock(orig);
-
-	Handle ret(new SurfaceNew);
-
-	ret.w_=orig.w_;
-	ret.h_=orig.h_;
-	ret.color_system_=orig.color_system_;
-	ret.premult_flag_=orig.premult_flag_;
-	ret.channel_map_=orig.channel_map_;
-
-	std::map<Channel,ChannelData>::iterator iter;
-	for(iter=ret.channel_map_.begin();iter!=ret.channel_map_.end();++iter)
-		iter->crop(x,y,w,h);
-
-	return ret;
-}
-
-int
-SurfaceNew::get_w()const
-{
-	return w_;
-}
-
-int
-SurfaceNew::get_h()const
-{
-	return h_;
-}
-
-void
-SurfaceNew::set_wh(int w, int h)
-{
-	if(w!=w_ || h!=h_)
-	{
-		w_=w;
-		h_=h;
-		channel_map_.clear();
-	}
-}
-
-SurfaceNew::ColorSystem
-SurfaceNew::get_color_system()const
-{
-	return color_system_;
-}
-
-void
-SurfaceNew::set_color_system(SurfaceNew::ColorSystem x)
-{
-	color_system_=x;
-}
-
-Color
-SurfaceNew::get_color(int x, int y)const
-{
-	// This operation is rather expensive, as it should be.
-	// I want to discourage people from using it all over the place.
-
-	Color ret(
-		lock_channel_const(CHAN_R).get_value(x,y),
-		lock_channel_const(CHAN_G).get_value(x,y),
-		lock_channel_const(CHAN_B).get_value(x,y),
-		lock_channel_const(CHAN_A).get_value(x,y)
-	);
-
-	if(get_premult())
-	{
-		ret=ret.demult_alpha();
-	}
-
-	return ret;
-}
-
-void
-SurfaceNew::lock()
-{
-	mutex_.lock();
-}
-
-void
-SurfaceNew::unlock()
-{
-	mutex_.unlock();
-}
-
-bool
-SurfaceNew::trylock()
-{
-	return mutex_.trylock();
-}
-
-SurfaceNew::ChannelLock
-SurfaceNew::lock_channel(SurfaceNew::Channel chan)
-{
-	if(!is_channel_defined(chan)
-		channel_map_[chan].set_wh(get_w(),get_h());
-	else
-		channel_map_[chan].make_unique();
-
-	ChannelLockConst channel_lock;
-
-	channel_lock.surface_=this;
-	channel_lock.channel_=chan;
-
-	channel_map_[chan].rw_lock.writer_lock();
-
-	return channel_lock;
-}
-
-SurfaceNew::ChannelLockConst
-SurfaceNew::lock_channel_const(SurfaceNew::Channel chan)const
-{
-	if(!is_channel_defined(chan)
-		channel_map_[chan].set_wh(get_w(),get_h());
-
-	ChannelLockConst channel_lock;
-
-	channel_lock.surface_=this;
-	channel_lock.channel_=chan;
-
-	channel_map_[chan].rw_lock.reader_lock();
-
-	return channel_lock;
-}
-
-SurfaceNew::ChannelLock
-SurfaceNew::lock_channel_alpha(SurfaceNew::Channel chan)
-{
-	// Change this when per-channel alpha
-	// is implemented
-	return lock_channel(CHAN_A);
-}
-
-SurfaceNew::ChannelLockConst
-SurfaceNew::lock_channel_alpha_const(SurfaceNew::Channel chan)const
-{
-	// Change this when per-channel alpha
-	// is implemented
-	return lock_channel_const(CHAN_A);
-}
-
-bool
-SurfaceNew::is_channel_defined(Channel chan)const
-{
-	return channel_map_.count(chan);
-}
-
-bool
-SurfaceNew::get_premult()const
-{
-	return premult_flag_;
-}
-
-void
-SurfaceNew::set_premult(bool x)
-{
-	if(x==premult_flag_)
-		return;
-
-	premult_flag_=x;
-
-	for(int i=0;i<3;i++)
-	{
-		Channel chan;
-		if(get_color_system()==COLORSYS_RGB)switch(i)
-		{
-			case 0: chan=CHAN_R;
-			case 1: chan=CHAN_G;
-			case 2: chan=CHAN_B;
-		}
-		else
-		if(get_color_system()==COLORSYS_YUV)switch(i)
-		{
-			case 0: chan=CHAN_Y;
-			case 1: chan=CHAN_U;
-			case 2: chan=CHAN_V;
-		}
-
-		// If this channel isn't defined, then
-		// skip it and move on to the next one
-		if(!is_channel_defined(chan))
-			continue;
-
-		ChannelLock color_channel(lock_channel(chan));
-		ChannelLockConst alpha_channel(lock_channel_alpha_const(chan));
-		const int w(get_w());
-		const int h(get_h());
-
-		float* color_ptr(color_channel.get_data_ptr());
-		const float* alpha_ptr(alpha_channel.get_data_ptr());
-
-		const int color_pitch(color_channel.get_data_ptr_stride()-w);
-		const int alpha_pitch(alpha_channel.get_data_ptr_stride()-w);
-
-		if(premult_flag_)
-		{
-			for(int y=0;y<h;y++,color_ptr+=color_pitch,alpha_ptr+=alpha_pitch)
-				for(int x=0;x<w;x++,color_ptr++,alpha_ptr++)
-					*color_ptr *= *alpha_ptr;
-		}
-		else
-		{
-			for(int y=0;y<h;y++,color_ptr+=color_pitch,alpha_ptr+=alpha_pitch)
-				for(int x=0;x<w;x++,color_ptr++,alpha_ptr++)
-					*color_ptr /= *alpha_ptr;
-		}
-	}
-}
-
-void
-SurfaceNew::blit(
-	Handle dest, int x_dest, int y_dest,
-	HandleConst src, int x_src, int y_src, int w_src, int h_src,
-	float amount=1.0, Color::BlendMethod bm=Color::BLEND_COMPOSITE
-)
-{
-	blit(
-		dest,
-		x_dest,
-		y_dest,
-		crop(
-			src,
-			x,
-			y,
-			w,
-			h
-		),
-		amount,
-		bm
-	);
-}
-
-void
-SurfaceNew::blit(
-	Handle dest, int x_dest, int y_dest,
-	HandleConst src
-	float amount=1.0, Color::BlendMethod bm=Color::BLEND_COMPOSITE
-)
-{
-	int w(src->get_w()), h(src->get_h);
-
-	// Clip
-	{
-		int x(0), y(0);
-
-		if(x_dest+w>dest.get_w())
-			w=dest.get_w()-x_dest;
-		if(y_dest+h>dest.get_h())
-			h=dest.get_h()-y_dest;
-		if(x_dest<0)
-		{
-			x-=x_dest;
-			w+=x_dest;
-		}
-		if(y_dest<0)
-		{
-			y-=y_dest;
-			h+=y_dest;
-		}
-		src=crop(src,x,y,w,h);
-	}
-
-	dest=crop(dest,x_dest,y_dest,w,h);
-
-	if(bm==Color::BLEND_STRAIGHT)
-	{
-		chan_mlt(dest,amount/(1.0-amount));
-		chan_add(dest,src);
-		chan_mlt(dest,(1.0-amount)/amount);
-	}
-
-	if(bm==Color::BLEND_COMPOSITE)
-	{
-
-	}
-}
-
-
-
-// -----------------------------------------------------------------------------------
-
-SurfaceChannelLockConst::SurfaceChannelLockConst():
-	data_ptr_checked_out_(false)
-{
-}
-
-SurfaceChannelLockConst::~SurfaceChannelLockConst()
-{
-	if(data_ptr_checked_out_)
-		release_data_ptr();
-
-	if(surface_ && ref_count_.is_unique())
-		return surface->channel_map_[channel_].rw_lock.reader_unlock();
-	surface=0;
-}
-
-SurfaceChannel
-SurfaceChannelLockConst::get_channel()const
-{
-	return channel_;
-}
-
-int
-SurfaceChannelLockConst::get_w()const
-{
-	return surface_->get_w();
-}
-
-int
-SurfaceChannelLockConst::get_h()const
-{
-	return surface_->get_h();
-}
-
-float
-SurfaceChannelLockConst::get_value(int x, int y)
-{
-	// WOW! CRAZY SLOW!
-	const ChannelData& channel_data(surface_->channel_map_[channel_]);
-	return *(channel_data.get_data()+y*channel_data.get_stride()+x);
-}
-
-const float*
-SurfaceChannelLockConst::get_data_ptr()const
-{
-	data_ptr_checked_out_=true;
-
-	// WOW! CRAZY SLOW!
-	return surface_->channel_map_[channel_].get_data();
-}
-
-int
-SurfaceChannelLockConst::get_data_ptr_stride()const
-{
-	return surface_->channel_map_[channel_].get_stride();
-}
-
-void
-SurfaceChannelLockConst::release_data_ptr()const
-{
-	data_ptr_checked_out_=false;
-}
-
-SurfaceChannelLockConst::operator bool()const
-{
-	return static_cast<bool>(surface_);
-}
-
-// -----------------------------------------------------------------------------------
-
-SurfaceChannelLock::SurfaceChannelLock()
-{
-}
-
-SurfaceChannelLock::~SurfaceChannelLock()
-{
-	if(data_ptr_checked_out_)
-		release_data_ptr();
-
-	if(surface_ && ref_count_.is_unique())
-		return surface_->channel_map_[channel_].rw_lock.writer_unlock();
-	surface=0;
-}
-
-void
-SurfaceChannelLock::clear()
-{
-	return surface_->channel_map_[channel_].clear();
-}
-
-void
-SurfaceChannelLock::fill(float v)
-{
-	return surface_->channel_map_[channel_].fill(v);
-}
-
-void
-SurfaceChannelLock::set_value(int x, int y, float v)
-{
-	// WOW! CRAZY SLOW!
-	const ChannelData& channel_data(surface_->channel_map_[channel_]);
-	*(channel_data.get_data()+y*channel_data.get_stride()+x)=v;
-}
-
-float*
-SurfaceChannelLock::get_data_ptr()
-{
-	data_ptr_checked_out_=true;
-
-	// WOW! CRAZY SLOW!
-	return surface_->channel_map_[channel_].get_data();
-}
-
-
-
-// -----------------------------------------------------------------------------------
-
-
-
-void
-SurfaceNew::chan_mlt(ChannelLock& dest, float x)
-{
-	float* ptr(dest.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int pitch(dest.get_data_pitch()-w);
-
-	int(y=0;y<h;y++,ptr+=pitch)
-		int(x=0;x<w;x++,ptr++)
-			*ptr*=x;
-}
-
-void
-SurfaceNew::chan_mlt(ChannelLock& dest, const ChannelLockConst& x)
-{
-	float* d_ptr(dest.get_data_ptr());
-	const float* s_ptr(x.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int d_pitch(dest.get_data_stride()-w);
-	const int s_pitch(x.get_data_stride()-w);
-
-	int(y=0;y<h;y++,d_ptr+=d_pitch,s_ptr+=s_pitch)
-		int(x=0;x<w;x++,d_ptr++,s_ptr++)
-			*d_ptr *= *s_ptr;
-}
-
-void
-SurfaceNew::chan_div(ChannelLock& dest, float x)
-{
-	float* ptr(dest.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int pitch(dest.get_data_pitch()-w);
-
-	int(y=0;y<h;y++,ptr+=pitch)
-		int(x=0;x<w;x++,ptr++)
-			*ptr/=x;
-}
-
-void
-SurfaceNew::chan_div(ChannelLock& dest, const ChannelLockConst& x)
-{
-	float* d_ptr(dest.get_data_ptr());
-	const float* s_ptr(x.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int d_pitch(dest.get_data_stride()-w);
-	const int s_pitch(x.get_data_stride()-w);
-
-	int(y=0;y<h;y++,d_ptr+=d_pitch,s_ptr+=s_pitch)
-		int(x=0;x<w;x++,d_ptr++,s_ptr++)
-			*d_ptr /= *s_ptr;
-}
-
-void
-SurfaceNew::chan_add(ChannelLock& dest, float x)
-{
-	float* ptr(dest.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int pitch(dest.get_data_pitch()-w);
-
-	int(y=0;y<h;y++,ptr+=pitch)
-		int(x=0;x<w;x++,ptr++)
-			*ptr+=x;
-}
-
-void
-SurfaceNew::chan_add(ChannelLock& dest, const ChannelLockConst& x)
-{
-	float* d_ptr(dest.get_data_ptr());
-	const float* s_ptr(x.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int d_pitch(dest.get_data_stride()-w);
-	const int s_pitch(x.get_data_stride()-w);
-
-	int(y=0;y<h;y++,d_ptr+=d_pitch,s_ptr+=s_pitch)
-		int(x=0;x<w;x++,d_ptr++,s_ptr++)
-			*d_ptr += *s_ptr;
-}
-
-void
-SurfaceNew::chan_sub(ChannelLock& dest, float x)
-{
-	float* ptr(dest.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int pitch(dest.get_data_pitch()-w);
-
-	int(y=0;y<h;y++,ptr+=pitch)
-		int(x=0;x<w;x++,ptr++)
-			*ptr-=x;
-}
-
-void
-SurfaceNew::chan_sub(ChannelLock& dest, const ChannelLockConst& x)
-{
-	float* d_ptr(dest.get_data_ptr());
-	const float* s_ptr(x.get_data_ptr());
-	const int w(dest.get_w());
-	const int h(dest.get_h());
-	const int d_pitch(dest.get_data_stride()-w);
-	const int s_pitch(x.get_data_stride()-w);
-
-	int(y=0;y<h;y++,d_ptr+=d_pitch,s_ptr+=s_pitch)
-		int(x=0;x<w;x++,d_ptr++,s_ptr++)
-			*d_ptr -= *s_ptr;
-}
-
-
-
diff --git a/src/synfig/surfacenew.h b/src/synfig/surfacenew.h
deleted file mode 100644
index d99eec0..0000000
--- a/src/synfig/surfacenew.h
+++ /dev/null
@@ -1,400 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!	\file surfacenew.h
-**	\brief Template Header
-**
-**	$Id$
-**
-**	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**	This package is free software; you can redistribute it and/or
-**	modify it under the terms of the GNU General Public License as
-**	published by the Free Software Foundation; either version 2 of
-**	the License, or (at your option) any later version.
-**
-**	This package is distributed in the hope that it will be useful,
-**	but WITHOUT ANY WARRANTY; without even the implied warranty of
-**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-**	General Public License for more details.
-**	\endlegal
-*/
-/* ========================================================================= */
-
-/* === S T A R T =========================================================== */
-
-#ifndef __SYNFIG_SURFACENEW_H
-#define __SYNFIG_SURFACENEW_H
-
-/* === H E A D E R S ======================================================= */
-
-#include <ETL/handle>
-#include <ETL/ref_count>
-#include "color.h"
-#include "mutex.h"
-#include <map>
-
-/* === M A C R O S ========================================================= */
-
-/* === T Y P E D E F S ===================================================== */
-
-/* === C L A S S E S & S T R U C T S ======================================= */
-
-namespace synfig {
-
-class Surface;
-class SurfaceChannelLock;
-class SurfaceChannelLockConst;
-
-//! \writeme
-enum SurfaceColorSystem
-{
-	COLORSYS_RGB,
-	COLORSYS_YUV,
-
-	COLORSYS_END
-}; // END of enum SurfaceColorSystem
-
-//! \writeme
-enum SurfaceChannel
-{
-	CHAN_A,
-	CHAN_R,
-	CHAN_G,
-	CHAN_B,
-
-	CHAN_Y,
-	CHAN_U,
-	CHAN_V,
-
-	CHAN_END
-}; // END of enum SurfaceChannel
-
-class SurfaceNew : etl::shared_object
-{
-	friend class SurfaceChannelLock;
-
-	/*
- --	** -- T Y P E S -----------------------------------------------------------
-	*/
-
-public:
-
-	//! \writeme
-	typedef etl::handle<SurfaceNew> Handle;
-
-	//! \writeme
-	typedef etl::handle<const SurfaceNew> HandleConst;
-
-	//! \writeme
-	typedef etl::loose_handle<SurfaceNew> LooseHandle;
-
-	//! \writeme
-	typedef SurfaceChannel;
-
-	//! \writeme
-	typedef SurfaceChannelLock ChannelLock;
-
-	//! \writeme
-	typedef SurfaceChannelLockConst ChannelLockConst;
-
-	//! \writeme
-	typedef SurfaceColorSystem;
-
-	//! \writeme
-	class Lock
-	{
-		Handle x;
-	public:
-		Lock(const Handle& x):x(x) { x->lock(); }
-		void unlock() { if(x){ x->unlock(); x=0; } }
-		~Lock() { unlock(); }
-	}; // END of class Lock
-	friend class Lock;
-
-private:
-
-	//! \writeme
-	class ChannelData;
-
-	/*
- --	** -- D A T A -------------------------------------------------------------
-	*/
-
-private:
-
-	//! \writeme
-	RecMutex mutex_;
-
-	//! \writeme
-	int w_,h_;
-
-	//! \writeme
-	ColorSystem color_system_;
-
-	//! \writeme
-	bool premult_flag_;
-
-	//! \writeme
-	std::map<Channel,ChannelData> channel_map_;
-
-	/*
- -- ** -- S I G N A L S -------------------------------------------------------
-	*/
-
-private:
-
-	/*
- -- ** -- S I G N A L   I N T E R F A C E -------------------------------------
-	*/
-
-public:
-
-	/*
- --	** -- C O N S T R U C T O R S ---------------------------------------------
-	*/
-
-protected:
-
-	//! \writeme
-	SurfaceNew();
-
-public:
-
-	//! \writeme
-	virtual ~SurfaceNew();
-
-	/*
- --	** -- M E M B E R   F U N C T I O N S -------------------------------------
-	*/
-
-public:
-
-	//! \writeme
-	int get_w()const;
-
-	//! \writeme
-	int get_h()const;
-
-	//! \writeme
-	void set_wh(int w, int h);
-
-	//! \writeme
-	ColorSystem get_color_system()const;
-
-	//! \writeme
-	void set_color_system(ColorSystem x);
-
-	//! Should only be used in certain circumstances
-	Color get_color(int x, int y)const;
-
-	//! \writeme
-	void lock();
-
-	//! \writeme
-	void unlock();
-
-	//! \writeme
-	bool trylock();
-
-	//! \writeme
-	ChannelLock lock_channel(Channel chan);
-
-	//! \writeme
-	ChannelLockConst lock_channel_const(Channel chan)const;
-
-	//! \writeme
-	ChannelLock lock_channel_alpha(Channel chan);
-
-	//! \writeme
-	ChannelLockConst lock_channel_alpha_const(Channel chan)const;
-
-	//! \writeme
-	bool is_channel_defined(Channel chan)const;
-
-	//! \writeme
-	bool get_premult()const;
-
-	//! \writeme
-	void set_premult();
-
-	/*
- --	** -- S T A T I C   F U N C T I O N S -------------------------------------
-	*/
-
-public:
-
-	//! Normal SurfaceNew Constructor
-	static Handle create(int w=0, int h=0, ColorSystem sys=COLORSYS_RGB);
-
-	//! Converts an old Surface to a SurfaceNew
-	static Handle create(const Surface&);
-
-	//! Duplicates a surface
-	static Handle create(HandleConst);
-
-	//! Creates a cropped copy of a surface
-	static Handle crop(HandleConst, int x, int y, int w, int h);
-
-	static void blit(
-		Handle dest,
-		int x_dest,
-		int y_dest,
-		HandleConst src,
-		float amount=1.0,
-		Color::BlendMethod bm=Color::BLEND_COMPOSITE
-	);
-
-	static void blit(
-		Handle dest,
-		int x_dest,
-		int y_dest,
-		Handle src,
-		int x_src,
-		int y_src,
-		int w_src,
-		int h_src,
-		float amount=1.0,
-		Color::BlendMethod bm=Color::BLEND_COMPOSITE
-	);
-
-
-	static void chan_mlt(ChannelLock& dest, float x);
-	static void chan_mlt(ChannelLock& dest, const ChannelLockConst& x);
-
-	static void chan_div(ChannelLock& dest, float x);
-	static void chan_div(ChannelLock& dest, const ChannelLockConst& x);
-
-	static void chan_add(ChannelLock& dest, float x);
-	static void chan_add(ChannelLock& dest, const ChannelLockConst& x);
-
-	static void chan_sub(ChannelLock& dest, float x);
-	static void chan_sub(ChannelLock& dest, const ChannelLockConst& x);
-}; // END of class SurfaceNew
-
-//! \writeme
-class SurfaceChannelLockConst
-{
-	friend class SurfaceNew;
-
-	/*
- --	** -- T Y P E S -----------------------------------------------------------
-	*/
-
-public:
-
-	/*
- --	** -- D A T A -------------------------------------------------------------
-	*/
-
-protected:
-
-	//! \writeme
-	SurfaceNew::Handle surface_;
-
-	//! \writeme
-	etl::reference_counter ref_count_;
-
-	//! \writeme
-	SurfaceChannel channel_;
-
-	//! \writeme
-	bool data_ptr_checked_out_;
-
-	/*
- --	** -- C O N S T R U C T O R S ---------------------------------------------
-	*/
-
-public:
-
-	SurfaceChannelLockConst();
-
-	//! \writeme
-	~SurfaceChannelLockConst();
-
-	/*
- --	** -- M E M B E R   F U N C T I O N S -------------------------------------
-	*/
-
-public:
-
-	//! \writeme
-	SurfaceChannel get_channel()const;
-
-	//! \writeme
-	int get_w()const;
-
-	//! \writeme
-	int get_h()const;
-
-	//! \writeme
-	float get_value(int x, int y);
-
-	//! \writeme
-	const float* get_data_ptr()const;
-
-	//! \writeme
-	int get_data_ptr_stride()const;
-
-	//! Releases the pointer obtained with get_data_ptr()
-	void release_data_ptr()const;
-
-	//! \writeme
-	operator bool()const;
-}; // END of class SurfaceChannelLockConst
-
-
-//! \writeme
-class SurfaceChannelLock : public SurfaceChannelLockConst
-{
-	friend class SurfaceNew;
-
-	using SurfaceChannelLock::get_data_ptr;
-
-	/*
- --	** -- T Y P E S -----------------------------------------------------------
-	*/
-
-public:
-
-	/*
- --	** -- D A T A -------------------------------------------------------------
-	*/
-
-private:
-
-	/*
- --	** -- C O N S T R U C T O R S ---------------------------------------------
-	*/
-
-public:
-
-	//! \writeme
-	SurfaceChannelLock();
-
-	//! \writeme
-	~SurfaceChannelLock();
-
-	/*
- --	** -- M E M B E R   F U N C T I O N S -------------------------------------
-	*/
-
-public:
-
-	//! \writeme
-	void clear();
-
-	//! \writeme
-	void fill(float value);
-
-	//! \writeme
-	void set_value(int x, int y, float v);
-
-	float* get_data_ptr();
-}; // END of class ChannelLock
-
-
-}; // END of namespace synfig
-
-/* === E N D =============================================================== */
-
-#endif
diff --git a/src/synfig/target.h b/src/synfig/target.h
index dea9145..57fda15 100644
--- a/src/synfig/target.h
+++ b/src/synfig/target.h
@@ -224,7 +224,7 @@ public:
 	virtual bool render(ProgressCallback *cb=NULL)=0;
 	//! Initialization tasks of the derived target.
 	//! @returns true if the initialization has no errors
-	virtual bool init(ProgressCallback *cb=NULL) { return true; }
+	virtual bool init(ProgressCallback *cb=NULL) { (void)cb; return true; }
 
 	//! Creates a new Target described by \a type, outputting to a file described by \a filename.
 	static Handle create(const String &type, const String &filename,
diff --git a/src/synfig/target_cairo.h b/src/synfig/target_cairo.h
index a48b438..ea05935 100644
--- a/src/synfig/target_cairo.h
+++ b/src/synfig/target_cairo.h
@@ -49,7 +49,7 @@ class CairoSurface;
 class Target_Cairo : public Target
 {
 	//! Number of threads to use
-	int threads_;
+	// int threads_;
 
 public:
 	typedef etl::handle<Target_Cairo> Handle;
diff --git a/src/synfig/target_multi.cpp b/src/synfig/target_multi.cpp
index 825b322..0fd33de 100644
--- a/src/synfig/target_multi.cpp
+++ b/src/synfig/target_multi.cpp
@@ -53,7 +53,9 @@ using namespace synfig;
 
 Target_Multi::Target_Multi(Target_Scanline::Handle a,Target_Scanline::Handle b):
 	a(a),
-	b(b)
+	b(b),
+	buffer_a(),
+	buffer_b()
 {
 }
 
diff --git a/src/synfig/target_tile.cpp b/src/synfig/target_tile.cpp
index 3b5e872..c46b462 100644
--- a/src/synfig/target_tile.cpp
+++ b/src/synfig/target_tile.cpp
@@ -40,6 +40,9 @@
 #include "general.h"
 #include <ETL/clock>
 
+#include <vector>
+#include <algorithm>
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -70,6 +73,75 @@ const unsigned int	DEF_TILE_HEIGHT= TILE_SIZE / 2;
 
 /* === M E T H O D S ======================================================= */
 
+struct Target_Tile::TileGroup
+{
+	struct TileInfo {
+		int tile_index;
+		int x, y;
+		TileInfo(): tile_index(), x(), y() { }
+		bool operator < (const TileInfo &other) const
+		{
+			return y < other.y ? true
+				 : other.y < y ? false
+				 : x < other.x ? false
+				 : other.x < x ? false
+				 : tile_index < other.tile_index;
+		}
+	};
+
+	int x0, y0, x1, y1;
+	std::vector<TileInfo> tiles;
+
+	TileGroup(): x0(), y0(), x1(), y1() { }
+
+	static bool can_fill_rectangle(int x0, int y0, int x1, int y1, const std::vector<TileInfo> &tiles)
+	{
+		for(int x = x0; x < x1; ++x)
+		{
+			for(int y = y0; y < y1; ++y)
+			{
+				bool found = false;
+				for(std::vector<TileInfo>::const_iterator i = tiles.begin(); i != tiles.end(); ++i)
+					if (i->x == x && i->y == y) { found = true; break; }
+				if (!found) return false;
+			}
+		}
+		return true;
+	}
+
+	void take_tiles(std::vector<TileInfo> &tiles)
+	{
+		for(int x = x0; x < x1; ++x)
+			for(int y = y0; y < y1; ++y)
+				for(std::vector<TileInfo>::iterator i = tiles.begin(); i != tiles.end(); ++i)
+					if (i->x == x && i->y == y)
+						{ this->tiles.push_back(*i); tiles.erase(i); break; }
+	}
+
+	static void group_tiles(std::vector<TileGroup> &out_groups, std::vector<TileInfo> &in_tiles)
+	{
+		while(!in_tiles.empty())
+		{
+			out_groups.push_back(TileGroup());
+			TileGroup &group = out_groups.back();
+			group.x0 = in_tiles.front().x;
+			group.y0 = in_tiles.front().y;
+			group.x1 = group.x0 + 1;
+			group.y1 = group.y0 + 1;
+			group.take_tiles(in_tiles);
+			while(can_fill_rectangle(group.x0 - 1, group.y0, group.x0, group.y1, in_tiles))
+				{ --group.x0; group.take_tiles(in_tiles); }
+			while(can_fill_rectangle(group.x0, group.y0 - 1, group.x1, group.y0, in_tiles))
+				{ --group.y0; group.take_tiles(in_tiles); }
+			while(can_fill_rectangle(group.x1, group.y0, group.x1 + 1, group.y1, in_tiles))
+				{ ++group.x1; group.take_tiles(in_tiles); }
+			while(can_fill_rectangle(group.x0, group.y1, group.x1, group.y1 + 1, in_tiles))
+				{ ++group.y1; group.take_tiles(in_tiles); }
+			std::sort(group.tiles.begin(), group.tiles.end());
+		}
+	}
+};
+
 Target_Tile::Target_Tile():
 	threads_(2),
 	tile_w_(DEF_TILE_WIDTH),
@@ -200,84 +272,112 @@ synfig::Target_Tile::render_frame_(Context context,ProgressCallback *cb)
 	}
 	else // If quality is set otherwise, then we use the accelerated renderer
 	{
-		Surface surface;
-
-		RendDesc tile_desc;
-		int x,y,w,h;
-		int i;
 		etl::clock tile_timer;
 		tile_timer.reset();
-		while((i=next_tile(x,y)))
+
+		// Gather tiles
+		std::vector<TileGroup::TileInfo> tiles;
+		TileGroup::TileInfo tile_info;
+		while((tile_info.tile_index = next_tile(tile_info.x, tile_info.y)) != 0) {
+			if (clipping_)
+				if (tile_info.x >= rend_desc.get_w() || tile_info.y >= rend_desc.get_h())
+					continue;
+			tile_info.x /= tile_w_;
+			tile_info.y /= tile_h_;
+			tiles.push_back(tile_info);
+		}
+		find_tile_time += tile_timer();
+
+		// Group tiles
+		std::vector<TileGroup> groups;
+		TileGroup::group_tiles(groups, tiles);
+
+		// Render groups
+		for(std::vector<TileGroup>::iterator i = groups.begin(); i != groups.end(); ++i)
 		{
-			find_tile_time+=tile_timer();
-			SuperCallback	super(cb,(total_tiles-i)*1000,(total_tiles-i+1)*1000,total_tiles*1000);
+			// Progress callback
+			int group_index = i - groups.begin();
+			int groups_count = (int)groups.size();
+			SuperCallback super(cb, (groups_count-group_index)*1000, (groups_count-group_index+1)*1000, groups_count*1000);
 			if(!super.amount_complete(0,1000))
 				return false;
-//			if(cb && !cb->amount_complete(total_tiles-i,total_tiles))
-//				return false;
-			// Perform clipping on the tile
-			if(clipping_)
-			{
-				w=x+tile_w_<rend_desc.get_w()?tile_w_:rend_desc.get_w()-x;
-				h=y+tile_h_<rend_desc.get_h()?tile_h_:rend_desc.get_h()-y;
-				if(w<=0||h<=0)continue;
-			}
-			else
+
+			// Render group
+			tile_timer.reset();
+
+			int x0 = i->x0 * tile_w_;
+			int y0 = i->y0 * tile_w_;
+			int x1 = i->x1 * tile_w_;
+			int y1 = i->y1 * tile_w_;
+
+			if (clipping_)
 			{
-				w=tile_w_;
-				h=tile_h_;
+				x1 = std::min(x1, rend_desc.get_w());
+				y1 = std::min(y1, rend_desc.get_h());
 			}
 
-			tile_desc=rend_desc;
-			tile_desc.set_subwindow(x,y,w,h);
-
-			etl::clock timer2;
-			timer2.reset();
+			RendDesc group_desc=rend_desc;
+			group_desc.set_subwindow(x0,y0,x1-x0,y1-y0);
 
-			if(!context.accelerated_render(&surface,get_quality(),tile_desc,&super))
+			Surface surface;
+			if (!context.accelerated_render(&surface, get_quality(), group_desc, &super))
 			{
 				// For some reason, the accelerated renderer failed.
 				if(cb)cb->error(_("Accelerated Renderer Failure"));
 				return false;
 			}
-			else
+
+			if(!surface)
 			{
-				work_time+=timer2();
-				if(!surface)
-				{
-					if(cb)cb->error(_("Bad surface"));
-					return false;
-				}
-				switch(get_alpha_mode())
-				{
-					case TARGET_ALPHA_MODE_FILL:
-						for(int i=0;i<surface.get_w()*surface.get_h();i++)
-							surface[0][i]=Color::blend(surface[0][i],desc.get_bg_color(),1.0f);
-						break;
-					case TARGET_ALPHA_MODE_EXTRACT:
-						for(int i=0;i<surface.get_w()*surface.get_h();i++)
-						{
-							float a=surface[0][i].get_a();
-							surface[0][i] = Color(a,a,a,a);
-						}
-						break;
-					case TARGET_ALPHA_MODE_REDUCE:
-						for(int i=0;i<surface.get_w()*surface.get_h();i++)
-							surface[0][i].set_a(1.0f);
-						break;
+				if(cb)cb->error(_("Bad surface"));
+				return false;
+			}
+			switch(get_alpha_mode())
+			{
+				case TARGET_ALPHA_MODE_FILL:
+					for(int i=0; i<surface.get_w()*surface.get_h(); ++i)
+						surface[0][i] = Color::blend(surface[0][i], desc.get_bg_color(), 1.0f);
+					break;
+				case TARGET_ALPHA_MODE_EXTRACT:
+					for(int i=0; i<surface.get_w()*surface.get_h(); ++i)
+					{
+						float a=surface[0][i].get_a();
+						surface[0][i] = Color(a,a,a,a);
+					}
+					break;
+				case TARGET_ALPHA_MODE_REDUCE:
+					for(int i=0;i<surface.get_w()*surface.get_h(); ++i)
+						surface[0][i].set_a(1.0f);
+					break;
 				}
 
-				etl::clock timer;
-				timer.reset();
+			work_time += tile_timer();
+
+			// Split group by tiles
+			for(std::vector<TileGroup::TileInfo>::iterator j = i->tiles.begin(); j != i->tiles.end(); ++j)
+			{
+				int tx0 = j->x * tile_w_;
+				int ty0 = j->y * tile_w_;
+				int tx1 = std::min(tx0 + tile_w_, x1);
+				int ty1 = std::min(ty0 + tile_w_, y1);
+
+				Surface tile_surface(Surface::size_type(tx1-tx0, ty1-ty0));
+				Surface::pen pen = tile_surface.get_pen(0, 0);
+				surface.blit_to(
+					pen,
+					tx0-x0, ty0-y0,
+					tile_surface.get_w(), tile_surface.get_h() );
+
 				// Add the tile to the target
-				if(!add_tile(surface,x,y))
+				tile_timer.reset();
+				if(!add_tile(tile_surface, tx0, ty0))
 				{
 					if(cb)cb->error(_("add_tile():Unable to put surface on target"));
 					return false;
 				}
-				add_tile_time+=timer();
+				add_tile_time+=tile_timer();
 			}
-			tile_timer.reset();
+
 			signal_progress()();
 		}
 	}
diff --git a/src/synfig/target_tile.h b/src/synfig/target_tile.h
index 7d1c03e..967accb 100644
--- a/src/synfig/target_tile.h
+++ b/src/synfig/target_tile.h
@@ -58,6 +58,8 @@ class Target_Tile : public Target
 	//! Determines if the tiles should be clipped to the redener description
 	//! or not
 	bool clipping_;
+
+	struct TileGroup;
 public:
 	typedef etl::handle<Target_Tile> Handle;
 	typedef etl::loose_handle<Target_Tile> LooseHandle;
diff --git a/src/synfig/targetparam.h b/src/synfig/targetparam.h
index 0a06181..e798edf 100644
--- a/src/synfig/targetparam.h
+++ b/src/synfig/targetparam.h
@@ -33,20 +33,31 @@ namespace synfig {
 
 struct TargetParam
 {
-	//! Default constructor
+	//Spritesheet render direction
+	enum Direction {
+		HR = 0, //Horisontal 
+		VR = 1  //Vertical
+	};
+	
+	//! Constructor
 	/*! Not valid default values, if they are not modified before
 	 *  passing them to the target module, it would override them with
 	 *  its own valid default settings.
 	 */
-	TargetParam (): video_codec("none"), bitrate(-1), sequence_separator(".") { }
-
-	TargetParam (const std::string& Video_codec, int Bitrate):
-		video_codec(Video_codec), bitrate(Bitrate)
+	TargetParam (const std::string& Video_codec = "none", int Bitrate = -1):
+		video_codec(Video_codec), bitrate(Bitrate), sequence_separator("."), offset_x(0), offset_y(0),rows(0),columns(0),append(true),dir(HR)
 	{ }
 
 	std::string video_codec;
 	int bitrate;
 	std::string sequence_separator;
+	//TODO: It is a spike. Need to separate this class.
+	int offset_x;
+	int offset_y;
+	int rows;
+	int columns;
+	bool append;
+	Direction dir;
 };
 
 }; // END of namespace synfig
diff --git a/src/synfig/time.cpp b/src/synfig/time.cpp
index 47a3306..d83f0c5 100644
--- a/src/synfig/time.cpp
+++ b/src/synfig/time.cpp
@@ -44,14 +44,6 @@
 #include <math.h>
 
 
-#ifdef WIN32
-#include <float.h>
-#ifndef isnan
-extern "C" { int _isnan(double x); }
-#define isnan _isnan
-#endif
-#endif
-
 // For some reason isnan() isn't working on macosx any more.
 // This is a quick fix.
 #if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
diff --git a/src/synfig/time.h b/src/synfig/time.h
index dfcb1e1..11ed1fa 100644
--- a/src/synfig/time.h
+++ b/src/synfig/time.h
@@ -67,7 +67,7 @@ private:
 	static value_type epsilon_() { return static_cast<value_type>(0.0005); }
 
 public:
-	Time() { }
+	Time(): value_() { }
 
 	Time(const value_type &x):value_(x) { }
 
diff --git a/src/synfig/timepointcollect.cpp b/src/synfig/timepointcollect.cpp
index c395dfd..f93654a 100644
--- a/src/synfig/timepointcollect.cpp
+++ b/src/synfig/timepointcollect.cpp
@@ -90,7 +90,7 @@ synfig::waypoint_collect(set<Waypoint, std::less<UniqueID> >	&waypoint_set,
 			ret+=waypoint_collect(waypoint_set,time,iter->second);
 
 		ValueBase canvas_value(layer->get_param("canvas"));
-		if(canvas_value.get_type()==ValueBase::TYPE_CANVAS)
+		if(canvas_value.get_type()==type_canvas)
 		{
 			etl::handle<Layer_PasteCanvas> p = etl::handle<Layer_PasteCanvas>::cast_dynamic(layer);
 			if (p)
diff --git a/src/synfig/transformation.h b/src/synfig/transformation.h
new file mode 100644
index 0000000..7fd84cf
--- /dev/null
+++ b/src/synfig/transformation.h
@@ -0,0 +1,191 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file transformation.h
+**	\brief Affine Transformation
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_TRANSFORMATION_H
+#define __SYNFIG_TRANSFORMATION_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "vector.h"
+#include "matrix.h"
+#include "rect.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+/*!	\class Transformation
+**	\todo writeme
+*/
+class Transformation
+{
+public:
+	Vector offset;
+	Angle angle;
+	Angle skew_angle;
+	Vector scale;
+
+	Transformation():
+		offset(0.0, 0.0),
+		angle(Angle::rad(0.0)),
+		skew_angle(Angle::rad(0.0)),
+		scale(1.0, 1.0)
+	{ }
+
+	Transformation(
+		const Vector &offset,
+		const Angle &angle = Angle::rad(0.0),
+		const Angle &skew_angle = Angle::rad(0.0),
+		const Vector &scale = Vector(1.0, 1.0)
+	):
+		offset(offset),
+		angle(angle),
+		skew_angle(skew_angle),
+		scale(scale)
+	{ }
+
+	bool is_valid()const
+	{
+		return offset.is_valid()
+		    && !isnan(Angle::rad(angle).get())
+		    && !isnan(Angle::rad(skew_angle).get())
+		    && scale.is_valid();
+	}
+
+	bool
+	operator==(const Transformation &rhs)const
+	{
+		return offset==rhs.offset
+			&& angle==rhs.angle
+			&& skew_angle==rhs.skew_angle
+			&& scale==rhs.scale;
+	}
+
+	bool
+	operator!=(const Transformation &rhs)const
+	{
+		return offset!=rhs.offset
+			|| angle!=rhs.angle
+			|| skew_angle!=rhs.skew_angle
+			|| scale!=rhs.scale;
+	}
+
+	bool is_equal_to(const Transformation& rhs)const
+	{
+		static const Angle::rad epsilon_angle(0.0000000000001);
+		Angle::rad a = angle - rhs.angle;
+		Angle::rad sa = skew_angle - rhs.skew_angle;
+		return offset.is_equal_to(rhs.offset)
+		    && a < epsilon_angle && a > -epsilon_angle
+		    && sa < epsilon_angle && sa > -epsilon_angle
+		    && scale.is_equal_to(rhs.scale);
+	}
+
+	bool is_identity()const
+	{
+		return is_equal_to(Transformation());
+	}
+
+	Matrix get_matrix() const
+	{
+		if (is_identity()) return Matrix();
+		Vector axis_x(scale[0], angle);
+		Vector axis_y(scale[1], angle + skew_angle + Angle::deg(90.0));
+		return Matrix(axis_x, axis_y, offset);
+	}
+
+	void set_matrix(const Matrix &matrix)
+	{
+		if (matrix.is_identity()) *this = Transformation();
+		Vector axis_x(matrix.get_axis_x());
+		Vector axis_y(matrix.get_axis_y());
+		angle = axis_x.angle();
+		skew_angle = axis_y.angle() - angle - Angle::deg(90.0);
+		scale[0] = axis_x.mag();
+		scale[1] = axis_y.mag();
+		offset = matrix.get_offset();
+	}
+
+	explicit Transformation(const Matrix &matrix)
+		{ set_matrix(matrix); }
+
+	Matrix get_inverted_matrix() const
+		{ return get_matrix().invert(); }
+
+	Transformation get_back_transformation() const
+		{ return Transformation(get_inverted_matrix()); }
+
+	static Rect transform_bounds(const Matrix &matrix, const Rect &bounds)
+	{
+		if (isnan(bounds.minx) || isinf(bounds.minx)
+		 || isnan(bounds.maxx) || isinf(bounds.maxx)
+		 || isnan(bounds.miny) || isinf(bounds.miny)
+		 || isnan(bounds.maxy) || isinf(bounds.maxy))
+			return Rect::infinite();
+
+		Rect transformed_bounds(
+			matrix.get_transformed(
+				Vector(bounds.minx, bounds.miny) ));
+		transformed_bounds.expand(
+			matrix.get_transformed(
+				Vector(bounds.minx, bounds.maxy) ));
+		transformed_bounds.expand(
+			matrix.get_transformed(
+				Vector(bounds.maxx, bounds.miny) ));
+		transformed_bounds.expand(
+			matrix.get_transformed(
+				Vector(bounds.maxx, bounds.maxy) ));
+		return transformed_bounds;
+	}
+
+	Vector transform(const Vector &v, bool translate = true) const
+		{ return get_matrix().get_transformed(v, translate); }
+	Transformation transform(const Transformation &transformation) const
+		{ return Transformation( transformation.get_matrix()*get_matrix() ); }
+	Matrix transform(const Matrix &matrix) const
+		{ return matrix*get_matrix(); }
+	Rect transform_bounds(const Rect &bounds) const
+		{ return transform_bounds(get_matrix(), bounds); }
+
+	Vector back_transform(const Vector &v, bool translate = true) const
+		{ return get_inverted_matrix().get_transformed(v, translate); }
+	Transformation back_transform(const Transformation &transformation) const
+		{ return Transformation( transformation.get_matrix()*get_inverted_matrix() ); }
+	Matrix back_transform(const Matrix &matrix) const
+		{ return matrix*get_inverted_matrix(); }
+	Rect back_transform_bounds(const Rect &bounds) const
+		{ return transform_bounds(get_inverted_matrix(), bounds); }
+
+	static const Transformation identity() { return Transformation(); }
+};
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/type.cpp b/src/synfig/type.cpp
new file mode 100644
index 0000000..8152d37
--- /dev/null
+++ b/src/synfig/type.cpp
@@ -0,0 +1,261 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file type.cpp
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "type.h"
+
+#endif
+
+using namespace synfig;
+using namespace etl;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+Type::OperationBookBase *Type::OperationBookBase::first = NULL;
+Type::OperationBookBase *Type::OperationBookBase::last = NULL;
+
+Type *Type::first = NULL;
+Type *Type::last = NULL;
+TypeId Type::last_identifier = 0;
+Type::StaticData Type::staticData;
+
+
+Type::OperationBookBase::OperationBookBase():
+	previous(last), next(NULL), initialized(false)
+{
+	(previous == NULL ? first : previous->next) = last = this;
+}
+
+Type::OperationBookBase::~OperationBookBase()
+{
+	(previous == NULL ? first : previous->next) = next;
+	(next     == NULL ? last  : next->previous) = previous;
+}
+
+void Type::OperationBookBase::remove_type_from_all_books(TypeId identifier)
+{
+	for(OperationBookBase *book = first; book != NULL; book = book->next)
+		book->remove_type(identifier);
+}
+
+void Type::OperationBookBase::initialize()
+{
+	if (initialized) return;
+	std::string type_name(typeid(*this).name());
+	for(OperationBookBase *book = first; book != NULL && book != this; book = book->next)
+	{
+		book->initialize();
+		if (typeid(*book).name() == type_name)
+		{
+			set_alias(book);
+			break;
+		}
+	}
+	initialized = true;
+}
+
+void Type::OperationBookBase::deinitialize()
+{
+	if (!initialized) return;
+	set_alias(NULL);
+}
+
+void Type::OperationBookBase::initialize_all()
+{
+	for(OperationBookBase *book = first; book != NULL; book = book->next)
+		book->initialize();
+}
+
+void Type::OperationBookBase::deinitialize_all() {
+	for(OperationBookBase *book = first; book != NULL; book = book->next)
+		book->deinitialize();
+}
+
+
+Type::Type(TypeId):
+	previous(last), next(NULL),
+	initialized(false),
+	private_identifier(NIL),
+	clone_prev(NULL),
+	clone_next(NULL),
+	identifier(private_identifier),
+	description(private_description)
+{
+	(previous == NULL ? first : previous->next) = last = this;
+}
+
+Type::Type():
+	previous(last), next(NULL),
+	initialized(false),
+	private_identifier(++last_identifier),
+	clone_prev(NULL),
+	clone_next(NULL),
+	identifier(private_identifier),
+	description(private_description)
+{
+	assert(last_identifier != NIL);
+	(previous == NULL ? first : previous->next) = last = this;
+}
+
+Type::~Type()
+{
+	deinitialize();
+	(previous == NULL ? first : previous->next) = next;
+	(next     == NULL ? last  : next->previous) = previous;
+}
+
+void Type::register_type()
+{
+	// register id
+	if (staticData.typesById.size() <= identifier) staticData.typesById.resize(identifier + 1, NULL);
+	assert(staticData.typesById[identifier] == NULL);
+	staticData.typesById[identifier] = this;
+
+	// register names
+	staticData.typesByName[description.name] = this;
+	for(std::vector<String>::const_iterator i = description.aliases.begin(); i != description.aliases.end(); ++i)
+	{
+		assert(!staticData.typesByName.count(*i) || staticData.typesByName[*i] == this);
+		staticData.typesByName[*i] = this;
+	}
+}
+
+void Type::unregister_type()
+{
+	// unregister operations
+	OperationBookBase::remove_type_from_all_books(identifier);
+
+	// unregister id
+	if (staticData.typesById.size() > identifier) staticData.typesById[identifier] = NULL;
+
+	// unregister names
+	staticData.typesByName.erase(description.name);
+	for(std::vector<String>::const_iterator i = description.aliases.begin(); i != description.aliases.end(); ++i)
+		staticData.typesByName.erase(*i);
+}
+
+void Type::initialize()
+{
+	if (initialized) return;
+	if (clone_prev != NULL) { clone_prev->initialize(); return; }
+
+	// find clones
+	if (clone_next == NULL) {
+		std::string type_name(typeid(*this).name());
+		for(Type *i = first; i != NULL; i = i->next)
+		{
+			if (i != this && typeid(*i).name() == type_name)
+			{
+				clone_prev = i;
+				clone_next = clone_prev->clone_next;
+				if (clone_prev != NULL) clone_prev->clone_next = this;
+				if (clone_next != NULL) clone_next->clone_prev = this;
+				i->initialize();
+				private_identifier = clone_prev->identifier;
+				private_description = clone_prev->private_description;
+				return;
+			}
+		}
+	}
+
+	initialize_vfunc(private_description);
+	register_type();
+	initialized = true;
+}
+
+void Type::deinitialize()
+{
+	if (!initialized && clone_prev == NULL) return;
+
+	Type *initialize_next = NULL;
+	if (clone_prev == NULL)
+	{
+		unregister_type();
+		deinitialize_vfunc(private_description);
+		initialized = false;
+		initialize_next = clone_next;
+	}
+
+	// unassign clone
+	if (clone_prev != NULL) clone_prev->clone_next = clone_next;
+	if (clone_next != NULL) clone_next->clone_prev = clone_prev;
+	clone_prev = NULL;
+	clone_next = NULL;
+
+	if (initialize_next != NULL) initialize_next->initialize();
+}
+
+void Type::initialize_all()
+{
+	OperationBookBase::initialize_all();
+	for(Type *type = first; type != NULL; type = type->next)
+		type->initialize();
+}
+
+void Type::deinitialize_all()
+{
+	for(Type *type = first; type != NULL; type = type->next)
+		type->deinitialize();
+	OperationBookBase::deinitialize_all();
+}
+
+
+namespace synfig {
+namespace types_namespace {
+	class TypeNil: public Type
+	{
+	protected:
+		TypeNil(): Type(NIL) { }
+
+		static String to_string(const InternalPointer) { return "Nil"; }
+
+		virtual void initialize_vfunc(Description &description)
+		{
+			Type::initialize_vfunc(description);
+			description.name = "nil";
+			description.local_name = N_("nil");
+			description.aliases.push_back("null");
+			register_default(to_string);
+		}
+	public:
+		static TypeNil instance;
+	};
+
+	TypeNil TypeNil::instance;
+}
+
+Type &type_nil = types_namespace::TypeNil::instance;
+}
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
diff --git a/src/synfig/type.h b/src/synfig/type.h
new file mode 100644
index 0000000..5910724
--- /dev/null
+++ b/src/synfig/type.h
@@ -0,0 +1,645 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file type.h
+**	\brief Template Header
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_TYPE_H
+#define __SYNFIG_TYPE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <cassert>
+#include <vector>
+#include <map>
+#include <typeinfo>
+#include "string.h"
+#include "general.h"
+
+/* === M A C R O S ========================================================= */
+
+//#define INITIALIZE_TYPE_BEFORE_USE
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+	class Type;
+
+	template<typename T>
+	class TypeAlias {
+	public:
+		typedef T AliasedType;
+		Type &type;
+		TypeAlias(Type &type): type(type) { }
+	};
+}
+
+#include "real.h"
+#include "string.h"
+#include "angle.h"
+#include <ETL/handle>
+
+namespace synfig {
+
+class Time;
+class Color;
+struct Segment;
+class BLinePoint;
+class Matrix;
+class BoneWeightPair;
+class WidthPoint;
+class DashItem;
+class ValueBase;
+class Canvas;
+class Vector;
+class Gradient;
+class Bone;
+class ValueNode_Bone;
+class Transformation;
+template<typename T> class WeightedValue;
+
+namespace types_namespace
+{
+#define SYNFIG_DECLARE_TYPE_ALIAS(T) \
+	TypeAlias< T > get_type_alias(T const&);
+#define SYNFIG_IMPLEMENT_TYPE_ALIAS(T, Class) \
+	TypeAlias< T > get_type_alias(T const&) { return TypeAlias< T >(Class::instance); }
+
+	SYNFIG_DECLARE_TYPE_ALIAS(bool)
+	SYNFIG_DECLARE_TYPE_ALIAS(int)
+	SYNFIG_DECLARE_TYPE_ALIAS(Angle)
+	SYNFIG_DECLARE_TYPE_ALIAS(Time)
+	SYNFIG_DECLARE_TYPE_ALIAS(Real)
+	SYNFIG_DECLARE_TYPE_ALIAS(float)
+	SYNFIG_DECLARE_TYPE_ALIAS(Vector)
+	SYNFIG_DECLARE_TYPE_ALIAS(Color)
+	SYNFIG_DECLARE_TYPE_ALIAS(Segment)
+	SYNFIG_DECLARE_TYPE_ALIAS(BLinePoint)
+	SYNFIG_DECLARE_TYPE_ALIAS(Matrix)
+	SYNFIG_DECLARE_TYPE_ALIAS(BoneWeightPair)
+	SYNFIG_DECLARE_TYPE_ALIAS(WidthPoint)
+	SYNFIG_DECLARE_TYPE_ALIAS(DashItem)
+	SYNFIG_DECLARE_TYPE_ALIAS(std::vector<ValueBase>)
+	SYNFIG_DECLARE_TYPE_ALIAS(etl::loose_handle<Canvas>)
+	SYNFIG_DECLARE_TYPE_ALIAS(etl::handle<Canvas>)
+	SYNFIG_DECLARE_TYPE_ALIAS(Canvas*)
+	SYNFIG_DECLARE_TYPE_ALIAS(String)
+	SYNFIG_DECLARE_TYPE_ALIAS(const char*)
+	SYNFIG_DECLARE_TYPE_ALIAS(Gradient)
+	SYNFIG_DECLARE_TYPE_ALIAS(Bone)
+	SYNFIG_DECLARE_TYPE_ALIAS(etl::handle<ValueNode_Bone>)
+	SYNFIG_DECLARE_TYPE_ALIAS(etl::loose_handle<ValueNode_Bone>)
+	SYNFIG_DECLARE_TYPE_ALIAS(ValueNode_Bone*)
+	SYNFIG_DECLARE_TYPE_ALIAS(Transformation)
+
+	template<typename T>
+	TypeAlias< WeightedValue<T> > get_type_alias(WeightedValue<T> const&);
+	template<typename T1, typename T2>
+	TypeAlias< std::pair<T1, T2> > get_type_alias(std::pair<T1, T2> const&);
+} // namespace types_namespace
+} // namespace synfig
+
+namespace synfig {
+
+extern Type &type_nil;
+
+typedef unsigned int TypeId;
+
+/*!	\class Operation
+**	\brief Provides methods to create operation with Values
+*/
+class Operation
+{
+public:
+	typedef void* InternalPointer;
+
+	enum OperationType {
+		TYPE_NONE,
+		TYPE_CREATE,
+		TYPE_DESTROY,
+		TYPE_SET,
+		TYPE_PUT,
+		TYPE_GET,
+		TYPE_COPY,
+		TYPE_COMPARE,
+		TYPE_TO_STRING,
+	};
+
+	typedef InternalPointer	(*CreateFunc)	();
+	typedef void			(*DestroyFunc)	(const InternalPointer);
+	typedef void			(*CopyFunc)		(const InternalPointer dest, const InternalPointer src);
+	typedef bool			(*CompareFunc)	(const InternalPointer, const InternalPointer);
+	typedef InternalPointer	(*BinaryFunc)	(const InternalPointer, const InternalPointer);
+	typedef String			(*ToStringFunc)	(const InternalPointer);
+
+	template<typename T>
+	class GenericFuncs
+	{
+	public:
+		typedef void 		(*SetFunc)		(InternalPointer dest, const T &src);
+		typedef void 		(*PutFunc)		(T &dest, const InternalPointer src);
+		typedef const T&	(*GetFunc)		(const InternalPointer);
+	private:
+		GenericFuncs() { }
+	};
+
+	class DefaultFuncs
+	{
+	public:
+		template<typename Inner>
+		static InternalPointer create()
+			{ return new Inner(); }
+		template<typename Inner>
+		static void destroy(const InternalPointer x)
+			{ return delete (Inner*)x; }
+		template<typename Inner, typename Outer>
+		static void set(InternalPointer dest, const Outer &src)
+			{ *(Inner*)dest = src; }
+		template<typename Inner, typename Outer>
+		static void put(Outer &dest, const InternalPointer src)
+			{ dest = static_cast<const Outer&>(*(Inner*)src); }
+		template<typename Inner, typename Outer>
+		static const Outer& get(const InternalPointer x)
+			{ return static_cast<const Outer&>(*(Inner*)x); }
+		template<typename Inner>
+		static void copy(InternalPointer dest, const InternalPointer src)
+			{ *(Inner*)dest = *(Inner*)src; }
+		template<typename Inner>
+		static bool compare(InternalPointer a, const InternalPointer b)
+			{ return *(Inner*)a == *(Inner*)b; }
+		template<typename Inner, String (*Func)(const Inner&)>
+		static String to_string(const InternalPointer x)
+			{ return Func(*(const Inner*)x); }
+	private:
+		DefaultFuncs() { }
+	};
+
+	struct Description
+	{
+		OperationType operation_type;
+		TypeId return_type;
+		TypeId type_a;
+		TypeId type_b;
+
+		Description(OperationType operation_type = TYPE_NONE, TypeId return_type = 0, TypeId type_a = 0, TypeId type_b = 0):
+			operation_type(operation_type), return_type(return_type), type_a(type_a), type_b(type_b) { }
+
+		bool operator < (const Description &other) const
+		{
+			return operation_type < other.operation_type ? true
+				 : other.operation_type < operation_type ? false
+				 : return_type < other.return_type ? true
+				 : other.return_type < return_type ? false
+				 : type_a < other.type_a ? true
+				 : other.type_a < type_a ? false
+				 : type_b < other.type_b;
+		}
+
+		bool operator > (const Description &other) const { return other < *this; }
+		bool operator != (const Description &other) const { return *this < other || other < *this; }
+		bool operator == (const Description &other) const { return !(*this != other); }
+
+		inline static Description get_create(TypeId type)
+			{ return Description(TYPE_CREATE, type); }
+		inline static Description get_destroy(TypeId type)
+			{ return Description(TYPE_DESTROY, 0, type); }
+		inline static Description get_set(TypeId type)
+			{ return Description(TYPE_SET, 0, type); }
+		inline static Description get_put(TypeId type)
+			{ return Description(TYPE_PUT, 0, 0, type); }
+		inline static Description get_get(TypeId type)
+			{ return Description(TYPE_GET, 0, type); }
+		inline static Description get_copy(TypeId type_a, TypeId type_b)
+			{ return Description(TYPE_COPY, 0, type_a, type_b); }
+		inline static Description get_copy(TypeId type)
+			{ return get_compare(type, type); }
+		inline static Description get_compare(TypeId type_a, TypeId type_b)
+			{ return Description(TYPE_COPY, 0, type_a, type_b); }
+		inline static Description get_compare(TypeId type)
+			{ return get_compare(type, type); }
+		inline static Description get_to_string(TypeId type)
+			{ return Description(TYPE_TO_STRING, 0, type); }
+		inline static Description get_binary(OperationType operation_type, TypeId return_type, TypeId type_a, TypeId type_b)
+			{ return Description(operation_type, return_type, type_a, type_b); }
+	};
+
+private:
+	Operation() { }
+}; // END of class Operation
+
+
+/*!	\class Type
+**	\brief Class for the Type of Values of Synfig
+*/
+class Type
+{
+public:
+	enum { NIL = 0 };
+	typedef Operation::InternalPointer InternalPointer;
+
+	struct Description
+	{
+		String version;
+		String name;
+		String local_name;
+		std::vector<String> aliases;
+	};
+
+private:
+	class OperationBookBase
+	{
+	protected:
+		static OperationBookBase *first, *last;
+		OperationBookBase *previous, *next;
+		bool initialized;
+
+		OperationBookBase(const OperationBookBase &): previous(NULL), next(NULL), initialized(false) { }
+		OperationBookBase& operator= (const OperationBookBase &) { return *this; }
+
+		OperationBookBase();
+
+	public:
+		virtual void remove_type(TypeId identifier) = 0;
+		virtual void set_alias(OperationBookBase *alias) = 0;
+		virtual ~OperationBookBase();
+
+		static void remove_type_from_all_books(TypeId identifier);
+
+		void initialize();
+		void deinitialize();
+		static void initialize_all();
+		static void deinitialize_all();
+	};
+
+	template<typename T>
+	class OperationBook : public OperationBookBase
+	{
+	public:
+		typedef std::pair<Type*, T> Entry;
+		typedef std::map<Operation::Description, Entry> Map;
+
+		static OperationBook instance;
+
+	private:
+		Map map;
+		Map *map_alias;
+
+		OperationBook(): map_alias(&map) { }
+
+	public:
+		inline Map& get_map()
+		{
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+			if (!OperationBookBase::initialized) OperationBookBase::initialize_all();
+#endif
+			return *map_alias;
+		}
+
+		inline const Map& get_map() const
+		{
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+			if (!OperationBookBase::initialized) OperationBookBase::initialize_all();
+#endif
+			return *map_alias;
+		}
+
+		virtual void set_alias(OperationBookBase *alias)
+		{
+			map_alias = alias == NULL ? &map : ((OperationBook<T>*)alias)->map_alias;
+			if (map_alias != &map)
+			{
+				map_alias->insert(map.begin(), map.end());
+				map.clear();
+			}
+		}
+
+		virtual void remove_type(TypeId identifier)
+		{
+			Map &map = get_map();
+			for(typename Map::iterator i = map.begin(); i != map.end();)
+				if (i->second.first->identifier == identifier)
+					map.erase(i++); else ++i;
+		}
+
+		~OperationBook() {
+			while(!map.empty())
+				map.begin()->second.first->deinitialize();
+		}
+	};
+
+	static Type *first, *last;
+	static TypeId last_identifier;
+
+	static struct StaticData {
+		std::vector<Type*> typesById;
+		std::map<String, Type*> typesByName;
+		~StaticData() { deinitialize_all(); }
+	} staticData;
+
+	Type *previous, *next;
+	bool initialized;
+	TypeId private_identifier;
+	Description private_description;
+
+	Type *clone_prev, *clone_next;
+
+public:
+	const TypeId &identifier;
+	const Description &description;
+
+protected:
+	explicit Type(TypeId);
+	Type();
+
+private:
+	// lock default copy constructor
+	Type(const Type &):
+		previous(NULL), next(NULL),
+		initialized(false),
+		private_identifier(0),
+		clone_prev(NULL),
+		clone_next(NULL),
+		identifier(private_identifier),
+		description(private_description)
+	{ assert(false); }
+	// lock default assignment
+	Type& operator= (const Type &) { assert(false); return *this; }
+
+	void register_type();
+	void unregister_type();
+
+private:
+	template<typename T>
+	void register_operation(const Operation::Description &description, T func)
+	{
+		typedef typename OperationBook<T>::Entry Entry;
+		typedef typename OperationBook<T>::Map Map;
+		Map &map = OperationBook<T>::instance.get_map();
+		assert(!map.count(description) || map[description].first == this);
+		map[description] = Entry(this, func);
+	}
+
+protected:
+	virtual void initialize_vfunc(Description &description)
+	{
+		description.version = "0.0";
+	}
+
+	virtual void deinitialize_vfunc(Description & /* description */) { }
+
+public:
+	virtual ~Type();
+
+	void initialize();
+	void deinitialize();
+
+	inline bool operator== (const Type &other) { return private_identifier == other.private_identifier; }
+	inline bool operator!= (const Type &other) { return private_identifier != other.private_identifier; }
+
+	static void initialize_all();
+	static void deinitialize_all();
+
+	inline Type* get_next() const { return next; }
+	inline static Type* get_first() { return first; }
+
+	template<typename T>
+	static T get_operation(const Operation::Description &description)
+	{
+		typedef typename OperationBook<T>::Map Map;
+		const Map &map = OperationBook<T>::instance.get_map();
+		typename Map::const_iterator i = map.find(description);
+		return i == map.end() ? NULL : i->second.second;
+	}
+
+	template<typename T>
+	static T get_operation_by_type(const Operation::Description &description, T)
+		{ return get_operation<T>(description); }
+
+	template<typename T>
+	inline static Type& get_type()
+	{
+		return types_namespace::get_type_alias(T()).type;
+	}
+
+	template<typename T>
+	inline static const TypeId& get_type_id()
+		{ return get_type<T>().identifier; }
+
+	template<typename T>
+	inline static Type& get_type_by_pointer(const T *)
+		{ return get_type<T>(); }
+
+	template<typename T>
+	inline static Type& get_type_by_reference(const T &)
+		{ return get_type<T>(); }
+
+	static Type* try_get_type_by_id(TypeId id)
+		{ return id < staticData.typesById.size() ? staticData.typesById[id] : NULL; }
+
+	static Type* try_get_type_by_name(const String &name)
+	{
+		std::map<String, Type*>::const_iterator i = staticData.typesByName.find(name);
+		return i == staticData.typesByName.end() ? NULL : i->second;
+	}
+
+	static Type& get_type_by_id(TypeId id)
+		{ assert(try_get_type_by_id(id) != NULL); return *try_get_type_by_id(id); }
+
+	static Type& get_type_by_name(const String &name)
+		{ assert(try_get_type_by_name(name) != NULL); return *try_get_type_by_name(name); }
+
+private:
+	inline void register_create(TypeId type, Operation::CreateFunc func)
+		{ register_operation(Operation::Description::get_create(type), func); }
+	inline void register_destroy(TypeId type, Operation::DestroyFunc func)
+		{ register_operation(Operation::Description::get_destroy(type), func); }
+	template<typename T>
+	inline void register_set(TypeId type, typename Operation::GenericFuncs<T>::SetFunc func)
+		{ register_operation(Operation::Description::get_set(type), func); }
+	template<typename T>
+	inline void register_put(TypeId type, typename Operation::GenericFuncs<T>::PutFunc func)
+		{ register_operation(Operation::Description::get_put(type), func); }
+	template<typename T>
+	inline void register_get(TypeId type, typename Operation::GenericFuncs<T>::GetFunc func)
+		{ register_operation(Operation::Description::get_get(type), func); }
+
+protected:
+	inline void register_copy(TypeId type_a, TypeId type_b, Operation::CopyFunc func)
+		{ register_operation(Operation::Description::get_copy(type_a, type_b), func); }
+	inline void register_copy(TypeId type, Operation::CopyFunc func)
+		{ register_operation(Operation::Description::get_copy(type), func); }
+	inline void register_compare(TypeId type_a, TypeId type_b, Operation::CompareFunc func)
+		{ register_operation(Operation::Description::get_compare(type_a, type_b), func); }
+	inline void register_compare(TypeId type, Operation::CompareFunc func)
+		{ register_operation(Operation::Description::get_compare(type), func); }
+	inline void register_to_string(TypeId type, Operation::ToStringFunc func)
+		{ register_operation(Operation::Description::get_to_string(type), func); }
+	inline void register_binary(Operation::OperationType operation_type, TypeId type_return, TypeId type_a, TypeId type_b, Operation::BinaryFunc func)
+		{ register_operation(Operation::Description::get_binary(operation_type, type_return, type_a, type_b), func); }
+	inline void register_binary(const Operation::Description &description, Operation::BinaryFunc func)
+		{ register_operation(description, func); }
+
+	inline void register_create(Operation::CreateFunc func)
+		{ register_create(identifier, func); }
+	inline void register_destroy(Operation::DestroyFunc func)
+		{ register_destroy(identifier, func); }
+	template<typename T>
+	inline void register_set(typename Operation::GenericFuncs<T>::SetFunc func)
+		{ register_set(identifier, func); }
+	template<typename T>
+	inline void register_put(typename Operation::GenericFuncs<T>::PutFunc func)
+		{ register_put(identifier, func); }
+	template<typename T>
+	inline void register_get(typename Operation::GenericFuncs<T>::GetFunc func)
+		{ register_get(identifier, func); }
+	inline void register_copy(Operation::CopyFunc func)
+		{ register_copy(identifier, func); }
+	inline void register_compare(Operation::CompareFunc func)
+		{ register_compare(identifier, func); }
+	inline void register_to_string(Operation::ToStringFunc func)
+		{ register_to_string(identifier, func); }
+
+	// default register
+	inline void register_default(Operation::CreateFunc func)
+		{ register_create(identifier, func); }
+	inline void register_default(Operation::DestroyFunc func)
+		{ register_destroy(identifier, func); }
+	template<typename T>
+	inline void register_default(typename Operation::GenericFuncs<T>::SetFunc func)
+		{ register_set<T>(identifier, func); }
+	template<typename T>
+	inline void register_default(typename Operation::GenericFuncs<T>::PutFunc func)
+		{ register_put<T>(identifier, func); }
+	template<typename T>
+	inline void register_default(typename Operation::GenericFuncs<T>::GetFunc func)
+		{ register_get<T>(identifier, func); }
+	inline void register_default(Operation::CopyFunc func)
+		{ register_copy(identifier, func); }
+	inline void register_default(Operation::CompareFunc func)
+		{ register_compare(identifier, func); }
+	inline void register_default(Operation::ToStringFunc func)
+		{ register_to_string(identifier, func); }
+
+	template<typename Inner, typename Outer, String (*Func)(const Inner&)>
+	inline void register_all()
+	{
+		register_default(Operation::DefaultFuncs::create<Inner>);
+		register_default(Operation::DefaultFuncs::destroy<Inner>);
+		register_default<Outer>(Operation::DefaultFuncs::set<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::put<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::get<Inner, Outer>);
+		register_default(Operation::DefaultFuncs::copy<Inner>);
+		register_default(Operation::DefaultFuncs::compare<Inner>);
+		register_default(Operation::DefaultFuncs::to_string<Inner, Func>);
+	}
+
+	template<typename Inner, typename Outer, String (*Func)(const Inner&)>
+	inline void register_all_but_compare()
+	{
+		register_default(Operation::DefaultFuncs::create<Inner>);
+		register_default(Operation::DefaultFuncs::destroy<Inner>);
+		register_default<Outer>(Operation::DefaultFuncs::set<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::put<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::get<Inner, Outer>);
+		register_default(Operation::DefaultFuncs::copy<Inner>);
+		register_default(Operation::DefaultFuncs::to_string<Inner, Func>);
+	}
+
+	template<typename Inner, typename Outer>
+	inline void register_alias()
+	{
+		register_default<Outer>(Operation::DefaultFuncs::set<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::put<Inner, Outer>);
+		register_default<Outer>(Operation::DefaultFuncs::get<Inner, Outer>);
+	}
+
+	template<typename Outer, String (*Func)(const Outer&)>
+	inline void register_all()
+		{ register_all<Outer, Outer, Func>(); }
+	template<typename Outer, String (*Func)(const Outer&)>
+	inline void register_all_but_compare()
+		{ register_all_but_compare<Outer, Outer, Func>(); }
+
+private:
+	template<typename T>
+	static String _value_to_string(const T &alias, const typename T::AliasedType &x)
+	{
+		if (alias.type.identifier == NIL) {
+			Operation::ToStringFunc to_string_func =
+				Type::get_operation<Operation::ToStringFunc>(
+					Operation::Description::get_to_string(alias.type.identifier) );
+			return to_string_func(NULL);
+		}
+
+		typedef typename T::AliasedType TT;
+
+		Operation::CreateFunc create_func =
+			Type::get_operation<Operation::CreateFunc>(
+				Operation::Description::get_create(alias.type.identifier) );
+		typename Operation::GenericFuncs<TT>::SetFunc set_func =
+			Type::get_operation<typename Operation::GenericFuncs<TT>::SetFunc>(
+				Operation::Description::get_set(alias.type.identifier) );
+		Operation::ToStringFunc to_string_func =
+			Type::get_operation<Operation::ToStringFunc>(
+				Operation::Description::get_to_string(alias.type.identifier) );
+		Operation::DestroyFunc destroy_func =
+			Type::get_operation<Operation::DestroyFunc>(
+				Operation::Description::get_destroy(alias.type.identifier) );
+		assert(create_func != NULL);
+		assert(set_func != NULL);
+		assert(to_string_func != NULL);
+		assert(destroy_func != NULL);
+
+		InternalPointer data = create_func();
+		set_func(data, x);
+		String res = to_string_func(data);
+		destroy_func(data);
+		return res;
+	}
+
+public:
+	template<typename T>
+	static String value_to_string(const T &x)
+		{ return _value_to_string(types_namespace::get_type_alias(x), x); }
+
+public:
+	static bool subsys_init() {
+		initialize_all();
+		return true;
+	}
+
+	static bool subsys_stop() {
+		deinitialize_all();
+		return true;
+	}
+}; // END of class Type
+
+
+template<typename T>
+Type::OperationBook<T> Type::OperationBook<T>::instance;
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/uniqueid.cpp b/src/synfig/uniqueid.cpp
index d89141b..d36a381 100644
--- a/src/synfig/uniqueid.cpp
+++ b/src/synfig/uniqueid.cpp
@@ -35,7 +35,6 @@
 
 /* === U S I N G =========================================================== */
 
-using namespace std;
 using namespace synfig;
 
 /* === G L O B A L S ======================================================= */
diff --git a/src/synfig/value.cpp b/src/synfig/value.cpp
index 92ed582..fc9ee14 100644
--- a/src/synfig/value.cpp
+++ b/src/synfig/value.cpp
@@ -40,6 +40,7 @@
 #include "bone.h"
 #include "matrix.h"
 #include "boneweightpair.h"
+#include "transformation.h"
 
 
 
@@ -64,40 +65,21 @@ using namespace etl;
 
 /* === M E T H O D S ======================================================= */
 
-ValueBase::ValueBase():type(TYPE_NIL),data(0),ref_count(0),loop_(0),static_(0),interpolation_(INTERPOLATION_UNDEFINED)
+ValueBase::ValueBase():
+	type(&type_nil),data(0),ref_count(0),loop_(0),static_(0),interpolation_(INTERPOLATION_UNDEFINED)
 {
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+	type->initialize();
+#endif
 }
 
-ValueBase::ValueBase(Type x):
-	type(x),
-	data(0),
-	loop_(0),
-	static_(0),
-	interpolation_(INTERPOLATION_UNDEFINED)
+ValueBase::ValueBase(Type &x):
+	type(&type_nil),data(0),ref_count(0),loop_(0),static_(0),interpolation_(INTERPOLATION_UNDEFINED)
 {
-	switch(type)
-	{
-	case TYPE_BOOL:			data=static_cast<void*>(new bool());				break;
-	case TYPE_INTEGER:		data=static_cast<void*>(new int());					break;
-	case TYPE_ANGLE:		data=static_cast<void*>(new Angle());				break;
-	case TYPE_VECTOR:		data=static_cast<void*>(new Vector());				break;
-	case TYPE_TIME:			data=static_cast<void*>(new Time());				break;
-	case TYPE_REAL:			data=static_cast<void*>(new Real());				break;
-	case TYPE_COLOR:		data=static_cast<void*>(new Color());				break;
-	case TYPE_SEGMENT:		data=static_cast<void*>(new Segment());				break;
-	case TYPE_BLINEPOINT:	data=static_cast<void*>(new BLinePoint());			break;
-	case TYPE_MATRIX:		data=static_cast<void*>(new Matrix());				break;
-	case TYPE_BONE_WEIGHT_PAIR:	data=static_cast<void*>(new BoneWeightPair());	break;
-	case TYPE_WIDTHPOINT:	data=static_cast<void*>(new WidthPoint());			break;
-	case TYPE_DASHITEM:		data=static_cast<void*>(new DashItem());			break;
-	case TYPE_LIST:			data=static_cast<void*>(new list_type());			break;
-	case TYPE_STRING:		data=static_cast<void*>(new String());				break;
-	case TYPE_GRADIENT:		data=static_cast<void*>(new Gradient());			break;
-	case TYPE_BONE:			data=static_cast<void*>(new Bone());				break;
-	case TYPE_VALUENODE_BONE:	data=static_cast<void*>(new etl::handle<ValueNode_Bone>());	break;
-	case TYPE_CANVAS:		data=static_cast<void*>(new etl::handle<Canvas>());	break;
-	default:																	break;
-	}
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+	type->initialize();
+#endif
+	create(x);
 }
 
 ValueBase::~ValueBase()
@@ -105,173 +87,62 @@ ValueBase::~ValueBase()
 	clear();
 }
 
-const char*
-ValueBase::get(const char*)const
-{
-	return get(String()).c_str();
-}
-
 #ifdef _DEBUG
 String
 ValueBase::get_string() const
 {
-	switch(type)
-	{
-	case TYPE_NIL:
-				return "Nil";
-	case TYPE_BOOL:
-		return strprintf("Bool (%s)", get(bool()) ? "true" : "false");
-	case TYPE_INTEGER:
-		return strprintf("Integer (%d)", get(int()));
-	case TYPE_ANGLE:
-		return strprintf("Angle (%.2f)", Angle::deg(get(Angle())).get());
-
-		// All types after this point are larger than 32 bits
-
-	case TYPE_TIME:
-		return strprintf("Time (%s)", get(Time()).get_string().c_str());
-	case TYPE_REAL:
-		return strprintf("Real (%f)", get(Real()));
-
-		// All types after this point are larger than 64 bits
-
-	case TYPE_VECTOR:
-		return strprintf("Vector (%f, %f)", get(Vector())[0], get(Vector())[1]);
-	case TYPE_COLOR:
-		return strprintf("Color (%s)", get(Color()).get_string().c_str());
-	case TYPE_SEGMENT:
-		return strprintf("Segment ((%f, %f) to (%f, %f))", get(Segment()).p1[0], get(Segment()).p1[1], get(Segment()).p2[0], get(Segment()).p2[1]);
-	case TYPE_BLINEPOINT:
-		return strprintf("BLinePoint (%f, %f)", get(BLinePoint()).get_vertex()[0], get(BLinePoint()).get_vertex()[1]);
-	case TYPE_MATRIX:
-		return strprintf("Matrix (%s)",get(Matrix().get_string().c_str()));
-	case TYPE_BONE_WEIGHT_PAIR:
-		return strprintf("Bone Weight Pair (%s)",get(BoneWeightPair()).get_string().c_str());
-	case TYPE_WIDTHPOINT:
-		return strprintf("WidthPoint (%s)", get(WidthPoint()).get_position(), get(WidthPoint()).get_width());
-	case TYPE_DASHITEM:
-				return strprintf("DashItem (%s)", get(DashItem()).get_offset(), get(DashItem()).get_length());
-
-		// All types after this point require construction/destruction
-
-	case TYPE_LIST:
-		return strprintf("List (%d elements)", get(list_type()).size());
-	case TYPE_CANVAS:
-		return strprintf("Canvas (%s)", get(etl::loose_handle<Canvas>())->get_id().c_str());
-	case TYPE_STRING:
-		return strprintf("String (%s)", get(String()).c_str());
-	case TYPE_GRADIENT:
-		return strprintf("Gradient (%d cpoints)", get(Gradient()).size());
-	case TYPE_BONE:
-		return strprintf("Bone (%s)", get(Bone()).get_string().c_str());
-	case TYPE_VALUENODE_BONE:
-		return strprintf("ValueNodeBone (%s)", get(ValueNode_Bone::Handle())->get_string().c_str());
-	default:
-		return "Invalid type";
-	}
+	Operation::ToStringFunc func =
+		Type::get_operation<Operation::ToStringFunc>(
+			Operation::Description::get_to_string(type->identifier) );
+	return func == NULL ? "Invalid type" : func(data);
 }
 #endif	// _DEBUG
 
-void
-ValueBase::set(Canvas* x)
+bool
+ValueBase::is_valid()const
 {
-	clear();
-	if(x
-#ifndef TRY_FIX_FOR_BUG_27
-	   && x->is_inline()
-#endif
-		)
-	{
-		_set(etl::handle<Canvas>(x));
-	}
-	else
-	{
-		_set(etl::loose_handle<Canvas>(x));
-	}
-	assert(get(x)==x);
+	return type != &type_nil && ref_count;
 }
 
 void
-ValueBase::set(etl::loose_handle<Canvas> x)
+ValueBase::create(Type &type)
 {
-	clear();
-	if(x
-#ifndef TRY_FIX_FOR_BUG_27
-	   && x->is_inline()
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+	type.initialize();
 #endif
-		)
-		_set(etl::handle<Canvas>(x));
-	else
-		_set(etl::loose_handle<Canvas>(x));
-	assert(get(x)==x);
-}
-
-void
-ValueBase::set(etl::handle<Canvas> x)
-{
+	if (type == type_nil) { clear(); return; }
+	Operation::CreateFunc func =
+		Type::get_operation<Operation::CreateFunc>(
+			Operation::Description::get_create(type.identifier) );
+	assert(func != NULL);
 	clear();
-	if(x
-#ifndef TRY_FIX_FOR_BUG_27
-	   && x->is_inline()
-#endif
-		)
-		_set(etl::handle<Canvas>(x));
-	else
-		_set(etl::loose_handle<Canvas>(x));
-	assert(get(x)==x);
-}
-
-void
-ValueBase::set(const list_type &x)
-{
-	_set(x);
-}
-
-void
-ValueBase::set(const char* x)
-{
-	_set(String(x));
-}
-
-void
-ValueBase::set(char* x)
-{
-	_set(String(x));
-}
-
-bool
-ValueBase::is_valid()const
-{
-	return type>TYPE_NIL && type<TYPE_END && ref_count;
+	this->type = &type;
+	data = func();
+	ref_count.reset();
 }
 
 void
 ValueBase::copy(const ValueBase& x)
 {
-	switch(x.type)
+	Operation::CopyFunc func =
+		Type::get_operation<Operation::CopyFunc>(
+			Operation::Description::get_copy(type->identifier, x.type->identifier));
+	if (func != NULL)
 	{
-	case TYPE_BOOL:			set(x.get(bool())); break;
-	case TYPE_INTEGER:		set(x.get(int())); break;
-	case TYPE_ANGLE:		set(x.get(Angle())); break;
-	case TYPE_VECTOR:		set(x.get(Vector())); break;
-	case TYPE_TIME:			set(x.get(Time())); break;
-	case TYPE_REAL:			set(x.get(Real())); break;
-	case TYPE_COLOR:		set(x.get(Color())); break;
-	case TYPE_SEGMENT:		set(x.get(Segment())); break;
-	case TYPE_BLINEPOINT:		set(x.get(BLinePoint())); break;
-	case TYPE_MATRIX:		set(x.get(Matrix())); break;
-	case TYPE_BONE_WEIGHT_PAIR:	set(x.get(BoneWeightPair())); break;
-	case TYPE_WIDTHPOINT:		set(x.get(WidthPoint())); break;
-	case TYPE_DASHITEM:		set(x.get(DashItem())); break;
-	case TYPE_LIST:			set(x.get(list_type())); break;
-	case TYPE_STRING:		set(x.get(String())); break;
-	case TYPE_GRADIENT:		set(x.get(Gradient())); break;
-	case TYPE_BONE:			set(x.get(Bone())); break;
-	case TYPE_VALUENODE_BONE:	set(x.get(etl::handle<ValueNode_Bone>())); break;
-	case TYPE_CANVAS:		set(x.get(etl::handle<Canvas>())); break;
-	default:																	break;
+		if (!ref_count.unique()) create();
+		func(data, x.data);
+	}
+	else
+	{
+		Operation::CopyFunc func =
+			Type::get_operation<Operation::CopyFunc>(
+				Operation::Description::get_copy(x.type->identifier, x.type->identifier));
+		if (func != NULL)
+		{
+			if (!ref_count.unique()) create(*x.type);
+			func(data, x.data);
+		}
 	}
-
 	copy_properties_of(x);
 }
 
@@ -286,14 +157,14 @@ ValueBase::copy_properties_of(const ValueBase& x)
 bool
 ValueBase::empty()const
 {
-	return !is_valid() || ((type==TYPE_LIST)?get_list().empty():false);
+	return !is_valid() || (type == &type_list ? get_list().empty() : false);
 }
 
-ValueBase::Type
+Type&
 ValueBase::get_contained_type()const
 {
-	if(type!=TYPE_LIST || empty())
-		return TYPE_NIL;
+	if (type != &type_list || empty())
+		return type_nil;
 	return get_list().front().get_type();
 }
 
@@ -302,10 +173,23 @@ ValueBase::operator=(const ValueBase& x)
 {
 	if(data!=x.data)
 	{
-		clear();
-		type=x.type;
-		data=x.data;
-		ref_count=x.ref_count;
+		Type &current_type = *type;
+		Type &new_type = *x.type;
+		Operation::CopyFunc func =
+			Type::get_operation<Operation::CopyFunc>(
+				Operation::Description::get_copy(current_type.identifier, new_type.identifier) );
+		if (func != NULL)
+		{
+			create(current_type);
+			func(data, x.data);
+		}
+		else
+		{
+			clear();
+			type=x.type;
+			data=x.data;
+			ref_count=x.ref_count;
+		}
 	}
 	loop_=x.loop_;
 	static_=x.static_;
@@ -318,210 +202,30 @@ ValueBase::clear()
 {
 	if(ref_count.unique() && data)
 	{
-		switch(type)
-		{
-		case TYPE_BOOL:             delete static_cast<bool*>(data); break;
-		case TYPE_INTEGER:          delete static_cast<int*>(data); break;
-		case TYPE_ANGLE:            delete static_cast<Angle*>(data); break;
-		case TYPE_TIME:             delete static_cast<Time*>(data); break;
-		case TYPE_REAL:             delete static_cast<Real*>(data); break;
-		case TYPE_VECTOR:           delete static_cast<Vector*>(data); break;
-		case TYPE_COLOR:            delete static_cast<Color*>(data); break;
-		case TYPE_SEGMENT:          delete static_cast<Segment*>(data); break;
-		case TYPE_BLINEPOINT:       delete static_cast<BLinePoint*>(data); break;
-		case TYPE_MATRIX:           delete static_cast<Matrix*>(data); break;
-		case TYPE_BONE_WEIGHT_PAIR: delete static_cast<BoneWeightPair*>(data); break;
-		case TYPE_WIDTHPOINT:       delete static_cast<WidthPoint*>(data); break;
-		case TYPE_DASHITEM:         delete static_cast<DashItem*>(data); break;
-		case TYPE_LIST:             delete static_cast<list_type*>(data); break;
-		case TYPE_CANVAS:
-		{
-			etl::handle<Canvas> canvas(get(etl::loose_handle<Canvas>()));
-			if(canvas
-#ifndef TRY_FIX_FOR_BUG_27
-			   && canvas->is_inline()
-#endif
-				)
-				delete static_cast<etl::handle<Canvas>*>(data);
-			else
-				delete static_cast<etl::loose_handle<Canvas>*>(data);
-			break;
-		}
-		case TYPE_STRING:           delete static_cast<String*>(data); break;
-		case TYPE_GRADIENT:         delete static_cast<Gradient*>(data); break;
-		case TYPE_BONE:             delete static_cast<Bone*>(data); break;
-		case TYPE_VALUENODE_BONE:   delete static_cast<etl::handle<ValueNode_Bone>*>(data); break;
-		default:
-			break;
-		}
+		Operation::DestroyFunc func =
+			Type::get_operation<Operation::DestroyFunc>(
+				Operation::Description::get_destroy(type->identifier) );
+		assert(func != NULL);
+		func(data);
 	}
-
 	ref_count.detach();
 	data=0;
-	type=TYPE_NIL;
-}
-
-String
-ValueBase::type_name(Type id)
-{
-	// don't internationalize these type names - they're used in .sif files
-	switch(id)
-	{
-	case TYPE_BOOL:                return N_("bool");
-	case TYPE_INTEGER:             return N_("integer");
-	case TYPE_ANGLE:               return N_("angle");
-	case TYPE_TIME:                return N_("time");
-	case TYPE_REAL:                return N_("real");
-	case TYPE_VECTOR:              return N_("vector");
-	case TYPE_COLOR:               return N_("color");
-	case TYPE_SEGMENT:             return N_("segment");
-	case TYPE_BLINEPOINT:          return N_("bline_point");
-	case TYPE_MATRIX:              return N_("matrix");
-	case TYPE_BONE_WEIGHT_PAIR:    return N_("bone_weight_pair");
-	case TYPE_WIDTHPOINT:          return N_("width_point");
-	case TYPE_DASHITEM:            return N_("dash_item");
-	case TYPE_LIST:                return N_("list");
-	case TYPE_CANVAS:              return N_("canvas");
-	case TYPE_STRING:              return N_("string");
-	case TYPE_GRADIENT:            return N_("gradient");
-	case TYPE_BONE:	               return N_("bone_object");
-	case TYPE_VALUENODE_BONE:      return N_("bone_valuenode");
-	case TYPE_NIL:                 return N_("nil");
-	default:
-		break;
-	}
-	synfig::warning("Encountered unknown ValueBase with an Type of %d",id);
-//	assert(0);
-	return "UNKNOWN";
-}
-
-String
-ValueBase::type_local_name(Type id)
-{
-//	return dgettext("synfig",type_name(id).c_str());
-
-	switch(id)
-	{
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BOOL:                 return N_("bool");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_INTEGER:              return N_("integer");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_ANGLE:                return N_("angle");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_TIME:	                return N_("time");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_REAL:	                return N_("real");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_VECTOR:               return N_("vector");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_COLOR:                return N_("color");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_SEGMENT:              return N_("segment");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BLINEPOINT:           return N_("spline_point");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_MATRIX:               return N_("matrix");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BONE_WEIGHT_PAIR:     return N_("bone_weight_pair");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_WIDTHPOINT:           return N_("width_point");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_DASHITEM:             return N_("dash_item");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_LIST:                 return N_("list");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_CANVAS:               return N_("canvas");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_STRING:               return N_("string");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_GRADIENT:             return N_("gradient");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BONE:	                return N_("bone_object");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_VALUENODE_BONE:       return N_("bone_valuenode");
-		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_NIL:                  return N_("nil");
-	default: break;
-	}
-	synfig::warning("Encountered unknown ValueBase with a Type of %d",id);
-//	assert(0);
-	return "UNKNOWN";
+	type=&type_nil;
 }
 
 
-ValueBase::Type
+Type&
 ValueBase::ident_type(const String &str)
 {
-	if(str=="nil" ||
-	   str=="null")				return TYPE_NIL;
-	else if(str=="time" ||
-			str==_("time"))		return TYPE_TIME;
-	else if(str=="real" ||
-			str=="float" ||
-			str==_("real"))		return TYPE_REAL;
-	else if(str=="integer" ||
-			str=="int" ||
-			str==_("integer"))	return TYPE_INTEGER;
-	else if(str=="bool" ||
-			str==_("bool"))		return TYPE_BOOL;
-	else if(str=="angle" ||
-			str=="degrees" ||
-			str=="radians" ||
-			str=="rotations")	return TYPE_ANGLE;
-	else if(str=="vector" ||
-			str=="point")		return TYPE_VECTOR;
-	else if(str=="color")		return TYPE_COLOR;
-	else if(str=="string")		return TYPE_STRING;
-	else if(str=="canvas")		return TYPE_CANVAS;
-	else if(str=="list")		return TYPE_LIST;
-	else if(str=="segment")		return TYPE_SEGMENT;
-	else if(str=="gradient")	return TYPE_GRADIENT;
-	else if(str=="bone_object")	return TYPE_BONE;
-	else if(str=="bone_valuenode")	return TYPE_VALUENODE_BONE;
-	else if(str=="bline_point" ||
-			str=="blinepoint")	return TYPE_BLINEPOINT;
-	else if(str=="matrix")		return TYPE_MATRIX;
-	else if(str=="bone_weight_pair")	return TYPE_BONE_WEIGHT_PAIR;
-	else if(str=="width_point" ||
-			str=="widthpoint")	return TYPE_WIDTHPOINT;
-	else if(str=="dash_item" ||
-			str=="dashitem")	return TYPE_DASHITEM;
-
-	return TYPE_NIL;
+	Type *type = Type::try_get_type_by_name(str);
+	return type == NULL ? type_nil : *type;
 }
 
 bool
 ValueBase::operator==(const ValueBase& rhs)const
 {
-	if(get_type()!=rhs.get_type())
-		return false;
-	if(data==rhs.data)
-		return true;
-
-	switch(get_type())
-	{
-	case TYPE_TIME:                   return get(Time()).is_equal(rhs.get(Time()));
-	case TYPE_REAL:                   return abs(get(Real())-rhs.get(Real()))<=0.00000000000001;
-	case TYPE_INTEGER:                return get(int())==rhs.get(int());
-	case TYPE_BOOL:                   return get(bool())==rhs.get(bool());
-	case TYPE_ANGLE:                  return get(Angle())==rhs.get(Angle());
-	case TYPE_VECTOR:                 return get(Vector()).is_equal_to(rhs.get(Vector()));
-	case TYPE_COLOR:                  return get(Color())==rhs.get(Color());
-	case TYPE_STRING:                 return get(String())==rhs.get(String());
-	case TYPE_CANVAS:                 return get(Canvas::LooseHandle())==rhs.get(Canvas::LooseHandle());
-	case TYPE_LIST:                   return get_list()==rhs.get_list();
-	case TYPE_VALUENODE_BONE:         return get(ValueNode_Bone::Handle())==rhs.get(ValueNode_Bone::Handle());
-	case TYPE_DASHITEM:               return get(DashItem())==rhs.get(DashItem());
-	case TYPE_SEGMENT:             // return get(Segment())==rhs.get(Segment());
-	case TYPE_GRADIENT:            // return get(Gradient())==rhs.get(Gradient());
-	case TYPE_BONE:                // return get(Bone())==rhs.get(Bone());
-	case TYPE_BLINEPOINT:          // return get(BLinePoint())==rhs.get(BLinePoint());
-	case TYPE_MATRIX:              // return get(Matrix())==rhs.get(Matrix());
-	case TYPE_BONE_WEIGHT_PAIR:    // return get(BoneWeightPair())==rhs.get(BoneWeightPair());
-	case TYPE_WIDTHPOINT:
-	case TYPE_NIL:
-	default:                          return false;
-	}
-	return false;
+	Operation::CompareFunc func =
+		Type::get_operation<Operation::CompareFunc>(
+			Operation::Description::get_compare(type->identifier, rhs.type->identifier) );
+	return func == NULL ? false : func(data, rhs.data);
 }
diff --git a/src/synfig/value.h b/src/synfig/value.h
index 38587aa..84377cb 100644
--- a/src/synfig/value.h
+++ b/src/synfig/value.h
@@ -29,6 +29,9 @@
 
 /* === H E A D E R S ======================================================= */
 
+#include "base_types.h"
+
+// TODO: remove following includes
 #include "angle.h"
 #include "segment.h"
 #include "string.h"
@@ -43,12 +46,12 @@
 #include "dashitem.h"
 #include "exception.h"
 #include "interpolation.h"
+#include "transformation.h"
 
 #ifdef USE_HALF_TYPE
 #include <OpenEXR/half.h>
 #endif
 
-
 #include <ETL/ref_count>
 
 /* === M A C R O S ========================================================= */
@@ -59,6 +62,7 @@
 
 namespace synfig {
 
+// TODO: remove following predeclarations
 class Canvas;
 class Vector;
 class Time;
@@ -83,47 +87,7 @@ class ValueBase
 	*/
 
 public:
-
-	//! This enum lists all the types of values
-	enum Type
-	{
-		TYPE_NIL=0,			//!< Represents an empty value
-
-		TYPE_BOOL,			//!< Boolean value (1 or 0)
-		TYPE_INTEGER,		//!< Integer value -1, 0, 1, etc.
-		TYPE_ANGLE,			//!< Angle value (Real number internally)
-
-		// All types after this point are larger than 32 bits
-
-		TYPE_TIME,			//!< Time value
-		TYPE_REAL,			//!< Real value (floating point number)
-
-		// All types after this point are larger than 64 bits
-
-		TYPE_VECTOR,		//!< Vector value (Real, Real) Points are Vectors too
-		TYPE_COLOR,			//!< Color (Real, Real, Real, Real)
-		TYPE_SEGMENT,		//!< Segment Point and Vector
-		TYPE_BLINEPOINT,	//!< BLinePoint Origin (Point) 2xTangents (Vector) Width (Real), Origin (Real) Split Tangent (Boolean)
-		TYPE_MATRIX,		//!< Matrix
-		TYPE_BONE_WEIGHT_PAIR,	//!< pair<Bone,Real>
-		TYPE_WIDTHPOINT,	//!< WidthPoint Position (Real), Width (Real), 2xSide Type (int enum)
-		TYPE_DASHITEM,		//!< DashItem Offset (Real distance), Length (Real distance), 2xSide Type (int enum)
-
-		// All types after this point require construction/destruction
-
-		TYPE_LIST,			//!< List of any of above
-		TYPE_CANVAS,		//!< Canvas
-		TYPE_STRING,		//!< String
-		TYPE_GRADIENT,		//!< Color Gradient
-		TYPE_BONE,			//!< Bone
-		TYPE_VALUENODE_BONE,//!< ValueNode_Bone
-
-		TYPE_END			//!< Not a valid type, used for sanity checks
-	};
-
-private:
-
-	typedef std::vector<ValueBase> list_type;
+	typedef std::vector<ValueBase> List;
 
 	/*
  --	** -- D A T A -------------------------------------------------------------
@@ -131,7 +95,7 @@ private:
 
 protected:
 	//! The type of value
-	Type type;
+	Type *type;
 	//! Pointer to hold the data of the value
 	void *data;
 	//! Counter of Value Nodes that refers to this Value Base
@@ -157,12 +121,28 @@ public:
 	//! Template constructor for any type
 	template <typename T>
 	ValueBase(const T &x, bool loop_=false, bool static_=false):
-		type(TYPE_NIL),data(0),ref_count(0),loop_(loop_), static_(static_),
+		type(&type_nil),data(0),ref_count(0),loop_(loop_), static_(static_),
 		interpolation_(INTERPOLATION_UNDEFINED)
-		{ set(x); }
+	{
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+		type->initialize();
+#endif
+		set(x);
+	}
+
+	template <typename T>
+	ValueBase(const std::vector<T> &x, bool loop_=false, bool static_=false):
+		type(&type_nil),data(0),ref_count(0),loop_(loop_), static_(static_),
+		interpolation_(INTERPOLATION_UNDEFINED)
+	{
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+		type->initialize();
+#endif
+		set_list_of(x);
+	}
 
 	//! Copy constructor. The data is not copied, just the type.
-	ValueBase(Type x);
+	ValueBase(Type &x);
 
 	//! Default destructor
 	~ValueBase();
@@ -189,7 +169,7 @@ public:
 
 	//!	Constant index operator for when value is of type TYPE_LIST
 	const ValueBase &operator[](int index)const
-		{ assert(type==TYPE_LIST); assert(index>0); return get_list()[index]; }
+		{ assert(type==&type_list); assert(index>0); return get_list()[index]; }
 
 	/*
  --	** -- M E M B E R   F U N C T I O N S -------------------------------------
@@ -228,117 +208,84 @@ public:
 	bool empty()const;
 
 	//! Gets the contained type in the Value Base
-	Type get_contained_type()const;
+	Type& get_contained_type()const;
 
 	//! Returns true if the contained value is defined and valid.
 	bool is_valid()const;
 
 	//!	Returns a string containing the name of the type. Used for sif files
-	String type_name()const { return type_name(type); }
+	String type_name()const { return type->description.name; }
 
 	//! Returns the type of the contained value
-	const Type & get_type()const { return type; }
+	Type& get_type()const { return *type; }
+
+	template<typename T>
+	inline static bool can_get(const TypeId type, const T &x)
+		{ return _can_get(type, types_namespace::get_type_alias(x)); }
+	template<typename T>
+	inline static bool can_get(const Type& type, const T &x) { return can_get(type.identifier, x); }
+	template<typename T>
+	inline static bool can_set(const TypeId type, const T &x)
+		{ return _can_set(type, types_namespace::get_type_alias(x)); }
+	template<typename T>
+	inline static bool can_set(const Type& type, const T &x) { return can_set(type.identifier, x); }
+	template<typename T>
+	inline static bool can_put(const TypeId type, const T &x)
+		{ return _can_put(type, types_namespace::get_type_alias(x)); }
+	template<typename T>
+	inline static bool can_put(const Type& type, const T &x) { return can_put(type.identifier, x); }
+	inline static bool can_copy(const TypeId dest, const TypeId src)
+		{ return NULL != Type::get_operation<Operation::CopyFunc>(Operation::Description::get_copy(dest, src)); }
+	inline static bool can_copy(const Type& dest, const Type& src) { return can_copy(dest.identifier, src.identifier); }
+
+	template<typename T> inline bool can_get(const T &x) const { return is_valid() && can_get(*type, x); }
+	template<typename T> inline bool can_set(const T &x) const { return can_set(*type, x); }
+	template<typename T> inline bool can_put(const T &x) const { return is_valid() && can_put(*type, x); }
+	bool can_copy_from(const TypeId type) const { return can_copy(this->type->identifier, type); }
+	bool can_copy_from(const Type& type) const { return can_copy(*this->type, type); }
+	bool can_copy_to(const TypeId type) const { return can_copy(type, this->type->identifier); }
+	bool can_copy_to(const Type& type) const { return can_copy(type, *this->type); }
+
+	template<typename T> bool same_type_as(const T&x) const { return can_get(x) && can_set(x) && can_put(x); }
 
-	//! Checks the type of the parameter against itself. Returns true if they are of the same type.
-	//! Template for any class
-	template <class T> bool
-	same_type_as(const T &x)const
-	{
-		const Type testtype(get_type(x));
+	// === GET MEMBERS ========================================================
+	//! Template to get the ValueBase class data by casting the type
+	template <typename T>
+	inline const T &get(const T &x)const { return (const T&)_get(types_namespace::get_type_alias(x)); }
 
-		return same_type_as(type, testtype);
-	}
-	//! Checks the type of the parameter against itself. Returns true if they are of the same type.
-	bool same_type_as(const Type testtype)const
-	{
-		return same_type_as(type, testtype);
-	}
+	//! Gets the data as List Type
+	const List& get_list()const { return get(List()); }
 
-	//! Compares two types.  Returns true if they are the same type.
-	static bool same_type_as(const Type type1, const Type type2)
+	template<typename T>
+	std::vector<T> get_list_of(const T &x)const
 	{
-		if (type1 == type2) return true;
-		if ((type1 == TYPE_REAL || type1 == TYPE_TIME) &&
-			(type2 == TYPE_REAL || type2 == TYPE_TIME))
-			return true;
-		return false;
+		const List &list = get_list();
+		std::vector<T> out_list;
+		out_list.reserve(list.size());
+		for(List::const_iterator i = list.begin(); i != list.end(); ++i)
+			if (i->can_get(x))
+				out_list.push_back(i->get(x));
+		return out_list;
 	}
 
-
-	// === GET MEMBERS ========================================================
-	//! Template to get the ValueBase class data by casting the type
-	template <typename T>
-	const T &get(const T& x __attribute__ ((unused)))const
+	template<typename T>
+	void set_list_of(const std::vector<T> &list)
 	{
-#ifdef _DEBUG
-		if (!is_valid())
-			printf("%s:%d !is_valid()\n", __FILE__, __LINE__);
-		else if (!same_type_as(x))
-			printf("%s:%d !'%s'.same_type_as('%s')\n", __FILE__, __LINE__, type_name(type).c_str(), type_name(get_type(x)).c_str());
-#endif
-		assert(is_valid() && same_type_as(x));
-		return *static_cast<const T*>(data);
+		*this = List(list.begin(), list.end());
 	}
-	//! Gets the Real part of the data
-	float get(const float &)const { return get(Real()); }
-	//! Gets the Canvas Handle part of the data based on Canvas Handle type
-	etl::loose_handle<Canvas> get(const etl::handle<Canvas>&)const
-		{ return get(etl::loose_handle<Canvas>()); }
-	//! Gets the Canvas Handle part of the data based on Canvas pointer type
-	etl::loose_handle<Canvas> get(Canvas*)const
-		{ return get(etl::loose_handle<Canvas>()); }
-	//! Gets the data as char pointer based on char pointer
-	const char* get(const char*)const;
-	//! Gets the data as List Type
-	const list_type& get_list()const { return get(list_type()); }
 
 #ifdef _DEBUG
 	String get_string() const;
 #endif	// _DEBUG
 	// ========================================================================
 
-
-
-	// === PUT MEMBERS ========================================================
 	//! Put template for any class
 	template <typename T>
-	void put(T* x)const
-	{
-		assert(same_type_as(*x));
-		*x=*static_cast<const T*>(data);
-	}
-	//! Put for float values
-	void put(float* x)const { *x=get(Real()); }
-	//! Put for char values (Not defined??)
-	void put(char** x)const;
-	// ========================================================================
+	inline void put(T* x)const { _put(types_namespace::get_type_alias(*x), x); }
 
-
-
-	// === SET MEMBERS ========================================================
 	//! Set template for any class
-	template <typename T> void set(const T& x) { _set(x); }
-	//! Set for float
-	void set(const float &x) { _set(Real(x)); }
-	//! Set for List Type
-	void set(const list_type &x);
-	//! Set for char string
-	void set(const char* x);
-	//! Set for char string
-	void set(char* x);
-	//! Set for Canvas pointer
-	void set(Canvas*x);
-	//! Set for Canvas handle
-	void set(etl::loose_handle<Canvas> x);
-	//! Set for Canvas handle
-	void set(etl::handle<Canvas> x);
-	//! Set template for standar vector
-	template <class T> void set(const std::vector<T> &x)
-		{ _set(list_type(x.begin(),x.end())); }
-	//! Set template for standar list
-	template <class T> void set(const std::list<T> &x)
-		{ _set(list_type(x.begin(),x.end())); }
-	// ========================================================================
+	template <typename T>
+	inline void set(const T& x) { _set(x); }
 
 
 	/*
@@ -346,49 +293,29 @@ public:
 	*/
 
 public:
-
-	//!	Returns a string containing the name of the given Type
-	static String type_name(Type id);
-
-	//!	Returns a string containing the translated name of the given Type
-	static String type_local_name(Type id);
-
 	//!	Returns a the corresponding Type of the described type.
 	//! Notice that this is used in the loadcanvas. It should keep all
 	//! all type names used in previous sif files
-	static Type ident_type(const String &str);
+	static Type& ident_type(const String &str);
 
 
 	// === GET TYPE MEMBERS ===================================================
-	static Type get_type(bool) { return TYPE_BOOL; }
-	static Type get_type(int) { return TYPE_INTEGER; }
-	static Type get_type(const Angle&) { return TYPE_ANGLE; }
-	static Type get_type(const Time&) { return TYPE_TIME; }
-	static Type get_type(const Real&) { return TYPE_REAL; }
-	static Type get_type(const float&) { return TYPE_REAL; }
-	static Type get_type(const Vector&) { return TYPE_VECTOR; }
-	static Type get_type(const Color&) { return TYPE_COLOR; }
-	static Type get_type(const Segment&) { return TYPE_SEGMENT; }
-	static Type get_type(const BLinePoint&) { return TYPE_BLINEPOINT; }
-	static Type get_type(const Matrix&) {return TYPE_MATRIX;}
-	static Type get_type(const BoneWeightPair&) {return TYPE_BONE_WEIGHT_PAIR;}
-	static Type get_type(const WidthPoint&) { return TYPE_WIDTHPOINT; }
-	static Type get_type(const DashItem&) { return TYPE_DASHITEM; }
-	static Type get_type(const String&) { return TYPE_STRING; }
-	static Type get_type(const Gradient&) { return TYPE_GRADIENT; }
-	static Type get_type(const Bone&) { return TYPE_BONE; }
-	static Type get_type(const etl::handle<ValueNode_Bone>&) { return TYPE_VALUENODE_BONE; }
-	static Type get_type(const etl::loose_handle<ValueNode_Bone>&) { return TYPE_VALUENODE_BONE; }
-	static Type get_type(Canvas*) { return TYPE_CANVAS; }
-	static Type get_type(const etl::handle<Canvas>&)
-		{ return TYPE_CANVAS; }
-	static Type get_type(const etl::loose_handle<Canvas>&)
-		{ return TYPE_CANVAS; }
-	static Type get_type(const list_type&) { return TYPE_LIST; }
-	template <class T> static Type get_type(const std::vector<T> &/*x*/)
-		{ return TYPE_LIST; }
-	template <class T> static Type get_type(const std::list<T> &/*x*/)
-		{ return TYPE_LIST; }
+	template<typename T>
+	static Type& get_type(const T&) { return Type::get_type<T>(); }
+
+	// TODO: remove this, when removed all references in code
+	static Type& get_type(const List &)
+		{ return Type::get_type<List>(); }
+	static Type& get_type(Canvas* const &)
+		{ return Type::get_type<Canvas*>(); }
+	static Type& get_type(ValueNode_Bone* const &)
+		{ return Type::get_type<ValueNode_Bone*>(); }
+	template <typename T> static Type& get_type(const T* &)
+		{ int i[(int)1 - (int)sizeof(T)]; return type_nil; }
+	template <typename T> static Type& get_type(const std::vector<T> &)
+		{ int i[(int)1 - (int)sizeof(T)]; return type_nil; }
+	template <typename T> static Type& get_type(const std::list<T> &)
+		{ int i[(int)1 - (int)sizeof(T)]; return type_nil; }
 	// ========================================================================
 
 
@@ -398,86 +325,126 @@ public:
 
 public:
 	//! I wonder why are those casting operators disabled...
-	operator const list_type&()const { return get_list(); }
-	operator const Angle&()const { return get(Angle()); }
-	//operator const Color&()const { return get(Color()); }
-	operator const Real&()const { return get(Real()); }
-	//operator const Time&()const { return get(Time()); }
-
-	operator const Vector&()const {  return get(Vector()); }
-	operator const BLinePoint&()const {  return get(BLinePoint()); }
-	operator const Matrix&()const { return get(Matrix()); }
-	operator const WidthPoint&()const {  return get(WidthPoint()); }
-	operator const DashItem&()const {  return get(DashItem()); }
-	//operator const int&()const {  return get(int()); }
-	//operator const String&()const {  return get(String()); }
-	//operator const char *()const {  return get(String()).c_str(); }
-	operator const Segment&()const { return get(Segment()); }
-	operator const Bone&()const { return get(Bone()); }
-
+	/*
+	template<typename T>
+	operator const T&() const
+	{
+		Type &t = Type::get_type<T>();
+		Operation::GenericFuncs<T>::GetFunc func =
+			Type::get_operation<Operation::GenericFuncs<T>::GetFunc>(
+				Operation::Description::get_get(t.identifier) );
+		assert(func != NULL);
+		return func(data);
+	}
+	*/
 
 	/*
  --	** -- O T H E R -----------------------------------------------------------
 	*/
 
-public:
-
-#ifdef USE_HALF_TYPE
-	half get(const half &)const { return get(Real()); }
-	void put(half*x)const { *x=get(Real()); }
-	void set(const half &x) { _set(Real(x)); }
-	static Type get_type(const half&) { return TYPE_REAL; }
-	operator half()const { return get(Real()); }
-#endif
+private:
+	void create(Type &type);
+	inline void create() { create(*type); }
 
+	template <typename T>
+	inline static bool _can_get(const TypeId type, const T &)
+	{
+		typedef typename T::AliasedType TT;
+		return NULL !=
+			Type::get_operation<typename Operation::GenericFuncs<TT>::GetFunc>(
+				Operation::Description::get_get(type) );
+	}
 
-	//! Cast operator template to obtain the standard list from the TYPE LIST
-	template <class T>
-	operator std::list<T>()const
+	template <typename T>
+	inline static bool _can_put(const TypeId type, const T &)
 	{
-		assert(type==TYPE_LIST);
-		std::list<T> ret(get_list().begin(),get_list().end());
-		return ret;
+		typedef typename T::AliasedType TT;
+		return NULL !=
+			Type::get_operation<typename Operation::GenericFuncs<TT>::PutFunc>(
+				Operation::Description::get_put(type) );
 	}
-	//! Cast operator template to obtain the standard vector from the TYPE LIST
-	template <class T>
-	operator std::vector<T>()const
+
+	template <typename T>
+	inline static bool _can_set(const TypeId type, const T &)
 	{
-		assert(type==TYPE_LIST);
-		std::vector<T> ret(get_list().begin(),get_list().end());
-		return ret;
+		typedef typename T::AliasedType TT;
+		return NULL !=
+			Type::get_operation<typename Operation::GenericFuncs<TT>::SetFunc>(
+				Operation::Description::get_set(type) );
 	}
 
+	template <typename T>
+	const typename T::AliasedType& _get(const T &)const
+	{
+		typedef typename T::AliasedType TT;
+#ifdef _DEBUG
+		if (!is_valid())
+			printf("%s:%d !is_valid()\n", __FILE__, __LINE__);
+#endif
+		assert(is_valid());
+		typename Operation::GenericFuncs<TT>::GetFunc func =
+			Type::get_operation<typename Operation::GenericFuncs<TT>::GetFunc>(
+				Operation::Description::get_get(type->identifier) );
+#ifdef _DEBUG
+		if (func == NULL)
+			printf("%s:%d %s get_func == NULL\n", __FILE__, __LINE__, type->description.name.c_str());
+#endif
+		assert(func !=  NULL);
+		return func(data);
+	}
 
-private:
-	//! Internal set template. Takes in consideration the reference counter
-	template <typename T> void
-	_set(const T& x)
+	template <typename T>
+	void _put(const T &, typename T::AliasedType *x)const
 	{
-		const Type newtype(get_type(x));
+		assert(is_valid());
+		typedef typename T::AliasedType TT;
+		typename Operation::GenericFuncs<TT>::PutFunc func =
+			Type::get_operation<typename Operation::GenericFuncs<TT>::PutFunc>(
+				Operation::Description::get_put(type->identifier) );
+		assert(func !=  NULL);
+		func(*x, data);
+	}
 
-		assert(newtype!=TYPE_NIL);
+	template<typename T>
+	void __set(const T &alias, const typename T::AliasedType &x)
+	{
+		typedef typename T::AliasedType TT;
+#ifdef INITIALIZE_TYPE_BEFORE_USE
+		alias.type.initialize();
+#endif
 
-		if(newtype==type)
+		Type &current_type = *type;
+		if (current_type != type_nil)
 		{
-			if(ref_count.unique())
+			typename Operation::GenericFuncs<TT>::SetFunc func =
+				Type::get_operation<typename Operation::GenericFuncs<TT>::SetFunc>(
+					Operation::Description::get_set(current_type.identifier) );
+			if (func != NULL)
 			{
-				*reinterpret_cast<T*>(data)=x;
+				if (!ref_count.unique()) create(current_type);
+				func(data, x);
 				return;
 			}
 		}
 
-		clear();
+		Type &new_type = alias.type;
+		assert(new_type != current_type);
+		assert(new_type != type_nil);
 
-		type=newtype;
-		ref_count.reset();
+		typename Operation::GenericFuncs<TT>::SetFunc func =
+			Type::get_operation<typename Operation::GenericFuncs<TT>::SetFunc>(
+				Operation::Description::get_set(new_type.identifier) );
+		assert(func != NULL);
 
-//		if (type == TYPE_BONE && &x == 0)
-//			data = 0;
-//		else
-		data=new T(x);
+		create(new_type);
+		assert(*type != type_nil);
+		func(data, x);
 	}
 
+	//! Internal set template. Takes in consideration the reference counter
+	template <typename T>
+	inline void _set(const T& x) { __set(types_namespace::get_type_alias(x), x); }
+
 }; // END of class ValueBase
 
 
@@ -488,36 +455,14 @@ template <class T>
 class Value : public ValueBase
 {
 public:
-	Value(const T &x):ValueBase(x)
-	{
-	}
-
-	Value(const ValueBase &x):ValueBase(x)
-	{
-		if(!x.same_type_as(T()))
-			throw Exception::BadType("Value<T>(ValueBase): Type Mismatch");
-	}
-
-	Value()
-	{
-	}
-
+	Value(const T &x):ValueBase(x) { }
+	Value(const ValueBase &x):ValueBase(x) { }
 	T get()const { return ValueBase::get(T()); }
-
 	void put(T* x)const	{ ValueBase::put(x); }
-
 	void set(const T& x) { ValueBase::operator=(x); }
-
 	Value<T>& operator=(const T& x) { set(x); return *this; }
-
 	Value<T>& operator=(const Value<T>& x) { return ValueBase::operator=(x); }
-
-	Value<T>& operator=(const ValueBase& x)
-	{
-		if(!x.same_type_as(T()))
-			throw Exception::BadType("Value<T>(ValueBase): Type Mismatch");
-		return ValueBase::operator=(x);
-	}
+	Value<T>& operator=(const ValueBase& x) { return ValueBase::operator=(x); }
 
 }; // END of class Value
 
diff --git a/src/synfig/valuenode.cpp b/src/synfig/valuenode.cpp
index fc61b98..8188f87 100644
--- a/src/synfig/valuenode.cpp
+++ b/src/synfig/valuenode.cpp
@@ -43,6 +43,7 @@
 #include "valuenode_boneinfluence.h"
 #include "valuenode_boneweightpair.h"
 #include "valuenode_bone.h"
+#include "valuenode_bonelink.h"
 #include "valuenode_greyed.h"
 #include "valuenode_scale.h"
 #include "valuenode_blinecalctangent.h"
@@ -93,6 +94,10 @@
 #include "valuenode_and.h"
 #include "valuenode_or.h"
 #include "valuenode_real.h"
+#include "valuenode_average.h"
+#include "valuenode_dynamic.h"
+#include "valuenode_derivative.h"
+#include "valuenode_weightedaverage.h"
 
 #include "layer.h"
 
@@ -201,10 +206,17 @@ ValueNode::subsys_init()
 	ADD_VALUENODE(ValueNode_Bone_Root,		  "bone_root",		  _("Root Bone"),		 RELEASE_VERSION_0_62_00); 
 	ADD_VALUENODE2(ValueNode_StaticList,	  "static_list",	  _("Static List"),		 RELEASE_VERSION_0_62_00); 
 	ADD_VALUENODE(ValueNode_BoneWeightPair,	  "boneweightpair",	  _("Bone Weight Pair"), RELEASE_VERSION_0_62_00); 
+	ADD_VALUENODE(ValueNode_BoneLink,		  "bone_link",		  _("Bone Link"),		 RELEASE_VERSION_1_0);
 
 	ADD_VALUENODE(ValueNode_WPList,           "wplist",           _("WPList"),           RELEASE_VERSION_0_63_00);
 	ADD_VALUENODE(ValueNode_DIList,           "dilist",           _("DIList"),           RELEASE_VERSION_0_63_01);
+
+	ADD_VALUENODE(ValueNode_Average,		  "average",		  _("Average"),			 RELEASE_VERSION_1_0);
+	ADD_VALUENODE(ValueNode_WeightedAverage,  "weighted_average", _("Weighted Average"), RELEASE_VERSION_1_0);
 	
+	ADD_VALUENODE(ValueNode_Dynamic,           "dynamic",         _("Dynamic"),          RELEASE_VERSION_1_0);
+	ADD_VALUENODE(ValueNode_Derivative,        "derivative",      _("Derivative"),       RELEASE_VERSION_1_0);
+
 #undef ADD_VALUENODE_CREATE
 #undef ADD_VALUENODE
 #undef ADD_VALUENODE2
@@ -219,7 +231,7 @@ ValueNode::subsys_stop()
 	return true;
 }
 
-ValueNode::ValueNode(ValueBase::Type type):type(type)
+ValueNode::ValueNode(Type &type):type(&type)
 {
 	value_node_count++;
 }
@@ -238,7 +250,7 @@ LinkableValueNode::create(const String &name, const ValueBase& x, Canvas::LooseH
 
 	if (!check_type(name, x.get_type()))
 	{
-		error(_("Bad type: ValueNode '%s' doesn't accept type '%s'"), book()[name].local_name.c_str(), ValueBase::type_local_name(x.get_type()).c_str());
+		error(_("Bad type: ValueNode '%s' doesn't accept type '%s'"), book()[name].local_name.c_str(), x.get_type().description.local_name.c_str());
 		return 0;
 	}
 
@@ -246,13 +258,13 @@ LinkableValueNode::create(const String &name, const ValueBase& x, Canvas::LooseH
 }
 
 bool
-LinkableValueNode::check_type(const String &name, ValueBase::Type x)
+LinkableValueNode::check_type(const String &name, Type &x)
 {
 	// the BoneRoot and Duplicate ValueNodes are exceptions - we don't want the
 	// user creating them for themselves, so check_type() fails for
 	// them even when it is valid
-	if((name == "bone_root" && x == ValueBase::TYPE_BONE) ||
-	   (name == "duplicate" && x == ValueBase::TYPE_REAL))
+	if((name == "bone_root" && x == type_bone_object) ||
+	   (name == "duplicate" && x == type_real))
 		return true;
 
 	if(!book().count(name) || !book()[name].check_type)
@@ -261,7 +273,7 @@ LinkableValueNode::check_type(const String &name, ValueBase::Type x)
 }
 
 bool
-LinkableValueNode::set_link(int i,ValueNode::Handle x, bool silent)
+LinkableValueNode::set_link(int i,ValueNode::Handle x)
 {
 	ValueNode::Handle previous(get_link(i));
 
@@ -290,7 +302,7 @@ LinkableValueNode::set_link(int i,ValueNode::Handle x, bool silent)
 		{
 			x->set_parent_canvas(get_parent_canvas());
 		}
-		if (!silent) changed();
+		changed();
 		return true;
 	}
 	return false;
@@ -546,7 +558,7 @@ PlaceholderValueNode::get_string()const
 	return String("PlaceholderValueNode: ") + get_guid().get_string();
 }
 
-ValueNode*
+ValueNode::Handle
 PlaceholderValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	ValueNode* ret(new PlaceholderValueNode());
@@ -556,7 +568,7 @@ PlaceholderValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)c
 }
 
 PlaceholderValueNode::Handle
-PlaceholderValueNode::create(ValueBase::Type type)
+PlaceholderValueNode::create(Type &type)
 {
 	if (getenv("SYNFIG_DEBUG_PLACEHOLDER_VALUENODE"))
 		printf("%s:%d PlaceholderValueNode::create\n", __FILE__, __LINE__);
@@ -570,12 +582,12 @@ PlaceholderValueNode::operator()(Time /*t*/)const
 	return ValueBase();
 }
 
-PlaceholderValueNode::PlaceholderValueNode(ValueBase::Type type):
+PlaceholderValueNode::PlaceholderValueNode(Type &type):
 	ValueNode(type)
 {
 }
 
-ValueNode*
+ValueNode::Handle
 LinkableValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	{
@@ -593,7 +605,7 @@ LinkableValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)cons
 		ValueNode::Handle link=get_link_vfunc(i);
 		if(!link->is_exported())
 		{
-			ValueNode::LooseHandle value_node(find_value_node(link->get_guid()^deriv_guid));
+			ValueNode::Handle value_node(find_value_node(link->get_guid()^deriv_guid));
 			if(!value_node)
 				value_node=link->clone(canvas, deriv_guid);
 			ret->set_link(i,value_node);
@@ -824,3 +836,11 @@ LinkableValueNode::set_children_vocab(const Vocab &newvocab)
 {
 	children_vocab.assign(newvocab.begin(),newvocab.end());
 }
+
+void
+LinkableValueNode::set_root_canvas(etl::loose_handle<Canvas> x)
+{
+	ValueNode::set_root_canvas(x);
+	for(int i = 0; i < link_count(); ++i)
+		get_link(i)->set_root_canvas(x);
+}
diff --git a/src/synfig/valuenode.h b/src/synfig/valuenode.h
index 95d1aae..2b3ceff 100644
--- a/src/synfig/valuenode.h
+++ b/src/synfig/valuenode.h
@@ -51,19 +51,19 @@
 
 #define VALUENODE_CHECK_TYPE(type) 										\
 	/* I don't think this ever happens - maybe remove this code? */		\
-	if (get_type() == ValueBase::TYPE_NIL) {							\
+	if (get_type() == type_nil) {										\
 		warning("%s:%d get_type() IS nil sometimes!",					\
 				__FILE__, __LINE__);									\
 		return false;													\
 	}																	\
-	if (get_type() != ValueBase::TYPE_NIL &&							\
-		!(ValueBase::same_type_as(value->get_type(), type)) &&			\
+	if (get_type() != type_nil &&										\
+		!(ValueBase::can_copy(value->get_type(), type)) &&				\
 		!PlaceholderValueNode::Handle::cast_dynamic(value)) {			\
 		error(_("%s:%d wrong type for %s: need %s but got %s"),			\
 			  __FILE__, __LINE__,										\
 			  link_local_name(i).c_str(),								\
-			  ValueBase::type_local_name(type).c_str(),					\
-			  ValueBase::type_local_name(value->get_type()).c_str());	\
+			  type.description.local_name.c_str(),						\
+			  value->get_type().description.local_name.c_str() );		\
 		return false;													\
 	}
 
@@ -124,7 +124,7 @@ public:
 private:
 	//! The type of the Value Node
 	//! \see ValueBase
-	ValueBase::Type type;
+	Type *type;
 	//! The name of the Value Node. This is the string that is used in the
 	//! sif file to define the value type: i.e. <param name="amount">
 	String name;
@@ -187,7 +187,7 @@ public:
 
 protected:
 
-	ValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
+	ValueNode(Type &type=type_nil);
 
 public:
 
@@ -223,13 +223,13 @@ public:
 	String get_string()const;
 
 	//! Clones a Value Node
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const=0;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const=0;
 
 	//! Returns \true if the Value Node has an ID (has been exported)
 	bool is_exported()const { return !get_id().empty(); }
 
 	//! Returns the type of the ValueNode
-	ValueBase::Type get_type()const { return type; }
+	Type& get_type()const { return *type; }
 
 	//! Returns a handle to the parent canvas, if it has one.
 	etl::loose_handle<Canvas> get_parent_canvas()const;
@@ -262,7 +262,7 @@ public:
 
 protected:
 	//! Sets the type of the ValueNode
-	void set_type(ValueBase::Type t) { type=t; }
+	void set_type(Type &t) { type=&t; }
 
 	virtual void on_changed();
 }; // END of class ValueNode
@@ -285,7 +285,7 @@ public:
 
 private:
 
-	PlaceholderValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
+	PlaceholderValueNode(Type &type=type_nil);
 
 public:
 
@@ -297,9 +297,9 @@ public:
 
 	String get_string()const;
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
-	static Handle create(ValueBase::Type type=ValueBase::TYPE_NIL);
+	static Handle create(Type &type=type_nil);
 
 protected:
 	virtual void get_times_vfunc(Node::time_set &/*set*/) const {}
@@ -338,7 +338,7 @@ public:
 	/*! As a pointer to the member, it represents a fucntion that checks
 	**  the type of the provided ValueBase
 	*/
-	typedef bool (*CheckType)(ValueBase::Type);
+	typedef bool (*CheckType)(Type &type);
 
 	struct BookEntry
 	{
@@ -371,10 +371,10 @@ public:
 	//! Each derived Linkable Value Node has to implement this fucntion and
 	//! should return true only if the type matches. \name is the name of
 	//! the linked value node and \x is the returned value type
-	static bool check_type(const String &name, ValueBase::Type x);
+	static bool check_type(const String &name, Type &x);
 
 public:
-	LinkableValueNode(ValueBase::Type type=ValueBase::TYPE_NIL):
+	LinkableValueNode(Type &type=type_nil):
 		ValueNode(type) { }
 
 protected:
@@ -402,10 +402,10 @@ public:
 	virtual int get_link_index_from_name(const String &name)const;
 
 	//! Clones a Value Node
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	//! Sets a new Value Node link by its index
-	bool set_link(int i,ValueNode::Handle x,bool silent=false);
+	bool set_link(int i,ValueNode::Handle x);
 	//! Sets a new Value Node link by its name
 	bool set_link(const String &name,ValueNode::Handle x) {	return set_link(get_link_index_from_name(name),x);	}
 
@@ -422,11 +422,13 @@ public:
 	//! Gets the children vocabulary for linkable value nodes
 	virtual Vocab get_children_vocab()const;
 
+	virtual void set_root_canvas(etl::loose_handle<Canvas> x);
+
 protected:
 	//! Member to store the children vocabulary
 	Vocab children_vocab;
 	//! Sets the type of the ValueNode
-	void set_type(ValueBase::Type t) { ValueNode::set_type(t); }
+	void set_type(Type &t) { ValueNode::set_type(t); }
 
 	//! Virtual member to get the linked Value Node Handle
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const=0;
diff --git a/src/synfig/valuenode_add.cpp b/src/synfig/valuenode_add.cpp
index a8728e3..2863299 100644
--- a/src/synfig/valuenode_add.cpp
+++ b/src/synfig/valuenode_add.cpp
@@ -64,41 +64,53 @@ synfig::ValueNode_Add::ValueNode_Add(const ValueBase &value):
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
 	set_link("scalar",ValueNode_Const::create(Real(1.0)));
-	ValueBase::Type id(value.get_type());
+	Type& type(value.get_type());
 
-	switch(id)
+	if (type == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("lhs",ValueNode_Const::create(value.get(Angle())));
 		set_link("rhs",ValueNode_Const::create(Angle::deg(0)));
-		break;
-	case ValueBase::TYPE_COLOR:
+	}
+	else
+	if (type == type_color)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Color())));
 		set_link("rhs",ValueNode_Const::create(Color(0,0,0,0)));
-		break;
-	case ValueBase::TYPE_GRADIENT:
+	}
+	else
+	if (type == type_gradient)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Gradient())));
 		set_link("rhs",ValueNode_Const::create(Gradient()));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	}
+	else
+	if (type == type_integer)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(int())));
 		set_link("rhs",ValueNode_Const::create(int(0)));
-		break;
-	case ValueBase::TYPE_REAL:
+	}
+	else
+	if (type == type_real)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Real())));
 		set_link("rhs",ValueNode_Const::create(Real(0)));
-		break;
-	case ValueBase::TYPE_TIME:
+	}
+	else
+	if (type == type_time)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Time())));
 		set_link("rhs",ValueNode_Const::create(Time(0)));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Vector())));
 		set_link("rhs",ValueNode_Const::create(Vector(0,0)));
-		break;
-	default:
+	}
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
 	}
 }
 
@@ -127,26 +139,23 @@ synfig::ValueNode_Add::operator()(Time t)const
 
 	if(!ref_a || !ref_b)
 		throw runtime_error(strprintf("ValueNode_Add: %s",_("One or both of my parameters aren't set!")));
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return ((*ref_a)(t).get(Angle())+(*ref_b)(t).get(Angle()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_COLOR:
+	if (type == type_color)
 		return ((*ref_a)(t).get(Color())+(*ref_b)(t).get(Color()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_GRADIENT:
+	if (type == type_gradient)
 		return ((*ref_a)(t).get(Gradient())+(*ref_b)(t).get(Gradient()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_INTEGER:
+	if (type == type_integer)
 		return round_to_int(((*ref_a)(t).get(int())+(*ref_b)(t).get(int()))*(*scalar)(t).get(Real()));
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return ((*ref_a)(t).get(Vector::value_type())+(*ref_b)(t).get(Vector::value_type()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_TIME:
+	if (type == type_time)
 		return ((*ref_a)(t).get(Time())+(*ref_b)(t).get(Time()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_VECTOR:
+	if (type == type_vector)
 		return ((*ref_a)(t).get(Vector())+(*ref_b)(t).get(Vector()))*(*scalar)(t).get(Real());
-	default:
-		assert(0);
-		break;
-	}
+
+	assert(0);
 	return ValueBase();
 }
 
@@ -159,7 +168,7 @@ ValueNode_Add::set_link_vfunc(int i,ValueNode::Handle value)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(ref_a,  get_type());
 	case 1: CHECK_TYPE_AND_SET_VALUE(ref_b,  get_type());
-	case 2: CHECK_TYPE_AND_SET_VALUE(scalar, ValueBase::TYPE_REAL);
+	case 2: CHECK_TYPE_AND_SET_VALUE(scalar, type_real);
 	}
 	return false;
 }
@@ -191,15 +200,15 @@ ValueNode_Add::get_local_name()const
 }
 
 bool
-ValueNode_Add::check_type(ValueBase::Type type)
+ValueNode_Add::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_ANGLE
-		|| type==ValueBase::TYPE_COLOR
-		|| type==ValueBase::TYPE_GRADIENT
-		|| type==ValueBase::TYPE_INTEGER
-		|| type==ValueBase::TYPE_REAL
-		|| type==ValueBase::TYPE_TIME
-		|| type==ValueBase::TYPE_VECTOR;
+	return type==type_angle
+		|| type==type_color
+		|| type==type_gradient
+		|| type==type_integer
+		|| type==type_real
+		|| type==type_time
+		|| type==type_vector;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_add.h b/src/synfig/valuenode_add.h
index dcdb023..1e365c5 100644
--- a/src/synfig/valuenode_add.h
+++ b/src/synfig/valuenode_add.h
@@ -59,7 +59,7 @@ public:
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
 	virtual String get_name()const;
 	virtual String get_local_name()const;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Add
 
diff --git a/src/synfig/valuenode_and.cpp b/src/synfig/valuenode_and.cpp
index 6971143..d84cf2a 100644
--- a/src/synfig/valuenode_and.cpp
+++ b/src/synfig/valuenode_and.cpp
@@ -89,8 +89,8 @@ ValueNode_And::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(link1_,    ValueBase::TYPE_BOOL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(link2_,    ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(link1_,    type_bool);
+	case 1: CHECK_TYPE_AND_SET_VALUE(link2_,    type_bool);
 	}
 	return false;
 }
@@ -130,9 +130,9 @@ ValueNode_And::get_local_name()const
 }
 
 bool
-ValueNode_And::check_type(ValueBase::Type type)
+ValueNode_And::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BOOL;
+	return type==type_bool;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_and.h b/src/synfig/valuenode_and.h
index e50c35e..bc75c0a 100644
--- a/src/synfig/valuenode_and.h
+++ b/src/synfig/valuenode_and.h
@@ -60,7 +60,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_And* create(const ValueBase &x);
 	virtual LinkableValueNode::Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_And
diff --git a/src/synfig/valuenode_anglestring.cpp b/src/synfig/valuenode_anglestring.cpp
index 04ca994..9d83b75 100644
--- a/src/synfig/valuenode_anglestring.cpp
+++ b/src/synfig/valuenode_anglestring.cpp
@@ -57,16 +57,16 @@ ValueNode_AngleString::ValueNode_AngleString(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_string)
 	{
-	case ValueBase::TYPE_STRING:
 		set_link("angle",ValueNode_Const::create(Angle::deg(0)));
 		set_link("width",ValueNode_Const::create(int(0)));
 		set_link("precision",ValueNode_Const::create(int(3)));
 		set_link("zero_pad",ValueNode_Const::create(bool(false)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -99,16 +99,12 @@ ValueNode_AngleString::operator()(Time t)const
 	int zero_pad((*zero_pad_)(t).get(bool()));
 
 	if(precision<0) precision=0;
-	switch (get_type())
-	{
-	case ValueBase::TYPE_STRING:
+
+	if (get_type() == type_string)
 		return strprintf(strprintf("%%%s%d.%df",
 								   zero_pad ? "0" : "",
 								   width,
 								   precision).c_str(), angle)+"°";
-	default:
-		break;
-	}
 
 	assert(0);
 	return ValueBase();
@@ -133,10 +129,10 @@ ValueNode_AngleString::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, ValueBase::TYPE_ANGLE);
-	case 1: CHECK_TYPE_AND_SET_VALUE(width_, ValueBase::TYPE_INTEGER);
-	case 2: CHECK_TYPE_AND_SET_VALUE(precision_, ValueBase::TYPE_INTEGER);
-	case 3: CHECK_TYPE_AND_SET_VALUE(zero_pad_, ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, type_angle);
+	case 1: CHECK_TYPE_AND_SET_VALUE(width_, type_integer);
+	case 2: CHECK_TYPE_AND_SET_VALUE(precision_, type_integer);
+	case 3: CHECK_TYPE_AND_SET_VALUE(zero_pad_, type_bool);
 	}
 	return false;
 }
@@ -158,10 +154,10 @@ ValueNode_AngleString::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_AngleString::check_type(ValueBase::Type type)
+ValueNode_AngleString::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_STRING;
+		type==type_string;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_anglestring.h b/src/synfig/valuenode_anglestring.h
index ad881e4..0baf60e 100644
--- a/src/synfig/valuenode_anglestring.h
+++ b/src/synfig/valuenode_anglestring.h
@@ -64,7 +64,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_AngleString* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_AngleString
diff --git a/src/synfig/valuenode_animated.cpp b/src/synfig/valuenode_animated.cpp
index c2a6315..1fd58c5 100644
--- a/src/synfig/valuenode_animated.cpp
+++ b/src/synfig/valuenode_animated.cpp
@@ -332,7 +332,7 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
+	ValueNode::Handle clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_Hermite<T>* ret(new _Hermite<T>());
@@ -685,7 +685,7 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
+	ValueNode::Handle clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_Constant<T>* ret(new _Constant<T>());
@@ -787,7 +787,7 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
+	ValueNode::Handle clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_AnimBool* ret(new _AnimBool());
@@ -1133,48 +1133,43 @@ ValueNode_Animated::add(const Waypoint &x)
 }
 
 void
-ValueNode_Animated::set_type(ValueBase::Type t)
+ValueNode_Animated::set_type(Type &t)
 {
 	ValueNode::set_type(t);
 }
 
 ValueNode_Animated::Handle
-synfig::ValueNode_Animated::create(ValueBase::Type type)
+synfig::ValueNode_Animated::create(Type &type)
 {
-	switch(type)
-	{
-		case ValueBase::TYPE_TIME:
-			return ValueNode_Animated::Handle(new _Hermite<Time>);
-		case ValueBase::TYPE_REAL:
-			return ValueNode_Animated::Handle(new _Hermite<Vector::value_type>);
-		case ValueBase::TYPE_INTEGER:
-			return ValueNode_Animated::Handle(new _Hermite<int>);
-		case ValueBase::TYPE_ANGLE:
-			return ValueNode_Animated::Handle(new _Hermite<Angle>);
-		case ValueBase::TYPE_VECTOR:
-			return ValueNode_Animated::Handle(new _Hermite<Vector>);
-		case ValueBase::TYPE_COLOR:
-			return ValueNode_Animated::Handle(new _Hermite<Color>);
-
-		case ValueBase::TYPE_STRING:
-			return ValueNode_Animated::Handle(new _Constant<String>);
-		case ValueBase::TYPE_VALUENODE_BONE:
-			return ValueNode_Animated::Handle(new _Constant<ValueNode_Bone::LooseHandle>);
-		case ValueBase::TYPE_BONE:
-			return ValueNode_Animated::Handle(new _Constant<Bone>);
-		case ValueBase::TYPE_GRADIENT:
-			return ValueNode_Animated::Handle(new _Hermite<Gradient>);
-		case ValueBase::TYPE_BOOL:
-			return ValueNode_Animated::Handle(new _AnimBool);
-		case ValueBase::TYPE_CANVAS:
-			return ValueNode_Animated::Handle(new _Constant<Canvas::LooseHandle>);
-		default:
-			throw
-				Exception::BadType(strprintf(_("%s: You cannot use a %s in an animated ValueNode"),"synfig::ValueNode_Animated::create()",
-					ValueBase::type_local_name(type).c_str())
-				);
-			break;
-	}
+	if (type == type_time)
+		return ValueNode_Animated::Handle(new _Hermite<Time>);
+	if (type == type_real)
+		return ValueNode_Animated::Handle(new _Hermite<Vector::value_type>);
+	if (type == type_integer)
+		return ValueNode_Animated::Handle(new _Hermite<int>);
+	if (type == type_angle)
+		return ValueNode_Animated::Handle(new _Hermite<Angle>);
+	if (type == type_vector)
+		return ValueNode_Animated::Handle(new _Hermite<Vector>);
+	if (type == type_color)
+		return ValueNode_Animated::Handle(new _Hermite<Color>);
+	if (type == type_string)
+		return ValueNode_Animated::Handle(new _Constant<String>);
+	if (type == type_bone_valuenode)
+		return ValueNode_Animated::Handle(new _Constant<ValueNode_Bone::LooseHandle>);
+	if (type == type_bone_object)
+		return ValueNode_Animated::Handle(new _Constant<Bone>);
+	if (type == type_gradient)
+		return ValueNode_Animated::Handle(new _Hermite<Gradient>);
+	if (type == type_bool)
+		return ValueNode_Animated::Handle(new _AnimBool);
+	if (type == type_canvas)
+		return ValueNode_Animated::Handle(new _Constant<Canvas::LooseHandle>);
+
+	throw
+		Exception::BadType(strprintf(_("%s: You cannot use a %s in an animated ValueNode"),"synfig::ValueNode_Animated::create()",
+			type.description.local_name.c_str())
+		);
 	return ValueNode_Animated::Handle();
 }
 
diff --git a/src/synfig/valuenode_animated.h b/src/synfig/valuenode_animated.h
index bd2e569..2ae9035 100644
--- a/src/synfig/valuenode_animated.h
+++ b/src/synfig/valuenode_animated.h
@@ -128,7 +128,7 @@ public:
 	virtual String get_local_name()const;
 
 	//! Creates a Valuenode_Animated by type
-	static Handle create(ValueBase::Type type);
+	static Handle create(Type &type);
 	//! Creates a Valuenode_Animated by ValueBase and Time
 	static Handle create(const ValueBase& value, const Time& time);
 	//! Creates a Valuenode_Animated by ValueNode and Time
@@ -153,7 +153,7 @@ protected:
 	ValueNode_Animated();
 
 	//! Sets the type of the Animated Value Node
-	void set_type(ValueBase::Type t);
+	void set_type(Type &t);
 	//!	Function to be overloaded that fills the Time Point Set with
 	//! all the children Time Points. Time Point is like Waypoint but
 	//! without value node
diff --git a/src/synfig/valuenode_atan2.cpp b/src/synfig/valuenode_atan2.cpp
index 6622325..1659480 100644
--- a/src/synfig/valuenode_atan2.cpp
+++ b/src/synfig/valuenode_atan2.cpp
@@ -56,14 +56,14 @@ ValueNode_Atan2::ValueNode_Atan2(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("x",ValueNode_Const::create(Angle::cos(value.get(Angle())).get()));
 		set_link("y",ValueNode_Const::create(Angle::sin(value.get(Angle())).get()));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -108,9 +108,9 @@ ValueNode_Atan2::get_local_name()const
 }
 
 bool
-ValueNode_Atan2::check_type(ValueBase::Type type)
+ValueNode_Atan2::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_ANGLE;
+	return type==type_angle;
 }
 
 bool
@@ -120,8 +120,8 @@ ValueNode_Atan2::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(x_, ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(y_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(x_, type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(y_, type_real);
 	}
 	return false;
 }
diff --git a/src/synfig/valuenode_atan2.h b/src/synfig/valuenode_atan2.h
index 676174e..49dcedc 100644
--- a/src/synfig/valuenode_atan2.h
+++ b/src/synfig/valuenode_atan2.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Atan2* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Atan2
diff --git a/src/synfig/valuenode_average.cpp b/src/synfig/valuenode_average.cpp
new file mode 100644
index 0000000..12dcb48
--- /dev/null
+++ b/src/synfig/valuenode_average.cpp
@@ -0,0 +1,105 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_average.cpp
+**	\brief Implementation of the "Average" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_average.h"
+#include "valuenode_const.h"
+#include "valueoperations.h"
+#include "canvas.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_Average::ValueNode_Average(const ValueBase &value, Canvas::LooseHandle canvas):
+	ValueNode_DynamicList(value.get_type(), value.get_type(), canvas)
+{
+	if (!check_type(value.get_type()))
+	{
+		assert(0);
+		throw runtime_error(get_local_name()+_(":Bad type ")+value.get_type().description.local_name);
+	}
+
+	ref();
+	add(ValueNode::Handle(ValueNode_Const::create(value, canvas)));
+	unref_inactive();
+}
+
+ValueNode_Average::ValueNode_Average(Type &type, Canvas::LooseHandle canvas):
+	ValueNode_DynamicList(type, type, canvas)
+{
+	if (!check_type(type))
+	{
+		assert(0);
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
+	}
+}
+
+ValueNode_Average::~ValueNode_Average() { }
+
+ValueNode_Average*
+ValueNode_Average::create(const ValueBase &value, Canvas::LooseHandle canvas)
+	{ return new ValueNode_Average(value, canvas); }
+
+ValueBase
+ValueNode_Average::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+	return ValueAverage::average( ValueNode_DynamicList::operator()(t), ValueBase(), ValueBase(get_type()));
+}
+
+String
+ValueNode_Average::get_name()const
+	{ return "average"; }
+
+String
+ValueNode_Average::get_local_name()const
+	{ return _("Average"); }
+
+LinkableValueNode*
+ValueNode_Average::create_new()const
+	{ return new ValueNode_Average(get_type()); }
+
+bool
+ValueNode_Average::check_type(Type &type)
+	{ return ValueAverage::check_type(type); }
diff --git a/src/synfig/valuenode_greyed.h b/src/synfig/valuenode_average.h
similarity index 61%
copy from src/synfig/valuenode_greyed.h
copy to src/synfig/valuenode_average.h
index 7cefd57..83e4e36 100644
--- a/src/synfig/valuenode_greyed.h
+++ b/src/synfig/valuenode_average.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_greyed.h
-**	\brief Header file for implementation of the "Greyed" valuenode conversion.
+/*!	\file valuenode_average.h
+**	\brief Header file for implementation of the "Average" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2008 Chris Moore
-**  Copyright (c) 2011 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,12 +22,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_GREYED_H
-#define __SYNFIG_VALUENODE_GREYED_H
+#ifndef __SYNFIG_VALUENODE_AVERAGE_H
+#define __SYNFIG_VALUENODE_AVERAGE_H
 
 /* === H E A D E R S ======================================================= */
 
-#include "valuenode_reference.h"
+#include "valuenode_dynamiclist.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -36,12 +35,19 @@
 
 namespace synfig {
 
-class ValueNode_Greyed : public ValueNode_Reference
+class ValueNode_Average : public ValueNode_DynamicList
 {
 public:
-	typedef etl::handle<ValueNode_Greyed> Handle;
-	ValueNode_Greyed(const ValueBase::Type &x);
-	ValueNode_Greyed(const ValueNode::Handle &x);
+
+	typedef etl::handle<ValueNode_Average> Handle;
+	typedef etl::handle<const ValueNode_Average> ConstHandle;
+
+
+	ValueNode_Average(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
+	ValueNode_Average(Type &type, etl::loose_handle<Canvas> canvas = 0);
+	virtual ~ValueNode_Average();
+
+ 	virtual ValueBase operator()(Time t)const;
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
@@ -50,9 +56,9 @@ protected:
 	LinkableValueNode* create_new()const;
 
 public:
-	static ValueNode_Greyed* create(const ValueBase &x);
-	virtual Vocab get_children_vocab_vfunc()const;
-}; // END of class ValueNode_Greyed
+	static bool check_type(Type &type);
+	static ValueNode_Average* create(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
+}; // END of class ValueNode_Average
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/valuenode_bline.cpp b/src/synfig/valuenode_bline.cpp
index 4269f10..2f63576 100644
--- a/src/synfig/valuenode_bline.cpp
+++ b/src/synfig/valuenode_bline.cpp
@@ -114,14 +114,14 @@ synfig::convert_bline_to_segment_list(const ValueBase& bline)
 
 //	std::vector<BLinePoint> list(bline.operator std::vector<BLinePoint>());
 	//std::vector<BLinePoint> list(bline);
-	std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	std::vector<BLinePoint>::const_iterator	iter;
 
 	BLinePoint prev,first;
 
 	//start with prev = first and iter on the second...
 
-	if(list.empty()) return ValueBase(ret,bline.get_loop());
+	if(list.empty()) return ValueBase(ValueBase::List(ret.begin(), ret.end()),bline.get_loop());
 	first = prev = list.front();
 
 	for(iter=++list.begin();iter!=list.end();++iter)
@@ -156,11 +156,11 @@ synfig::convert_bline_to_width_list(const ValueBase& bline)
 	std::vector<Real> ret;
 //	std::vector<BLinePoint> list(bline.operator std::vector<BLinePoint>());
 	//std::vector<BLinePoint> list(bline);
-	std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	std::vector<BLinePoint>::const_iterator	iter;
 
 	if(bline.empty())
-		return ValueBase(ValueBase::TYPE_LIST);
+		return ValueBase(type_list);
 
 	for(iter=list.begin();iter!=list.end();++iter)
 		ret.push_back(iter->get_width());
@@ -168,7 +168,7 @@ synfig::convert_bline_to_width_list(const ValueBase& bline)
 	if(bline.get_loop())
 		ret.push_back(list.front().get_width());
 
-	return ValueBase(ret,bline.get_loop());
+	return ValueBase(ValueBase::List(ret.begin(), ret.end()),bline.get_loop());
 }
 
 Real
@@ -184,7 +184,7 @@ synfig::find_closest_point(const ValueBase &bline, const Point &pos, Real &radiu
 	Real closest(10000000);
 
 	int i=0;
-	std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	typedef std::vector<BLinePoint>::const_iterator iterT;
 	iterT iter, prev, first;
 	for(iter=list.begin(); iter!=list.end(); ++i, ++iter)
@@ -288,7 +288,7 @@ Real
 synfig::std_to_hom(const ValueBase &bline, Real pos, bool index_loop, bool bline_loop)
 {
 	BLinePoint blinepoint0, blinepoint1;
-	const std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	const std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	int size = list.size(), from_vertex;
 	// trivial cases
 	if(pos == 0.0 || pos == 1.0)
@@ -342,7 +342,7 @@ Real
 synfig::hom_to_std(const ValueBase &bline, Real pos, bool index_loop, bool bline_loop)
 {
 	BLinePoint blinepoint0, blinepoint1;
-	const std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	const std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	int size = list.size(), from_vertex(0);
 	// trivial cases
 	if(pos == 0.0 || pos == 1.0)
@@ -437,7 +437,7 @@ Real
 synfig::bline_length(const ValueBase &bline, bool bline_loop, std::vector<Real> *lengths)
 {
 	BLinePoint blinepoint0, blinepoint1;
-	const std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	const std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	int size(list.size());
 	if(!bline_loop) size--;
 	if(size < 1) return Real();
@@ -462,7 +462,7 @@ synfig::bline_length(const ValueBase &bline, bool bline_loop, std::vector<Real>
 
 
 ValueNode_BLine::ValueNode_BLine(Canvas::LooseHandle canvas):
-	ValueNode_DynamicList(ValueBase::TYPE_BLINEPOINT, canvas)
+	ValueNode_DynamicList(type_bline_point, canvas)
 {
 	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
 		printf("%s:%d should have already set parent canvas for bline %lx to %lx (using dynamic_list constructor)\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
@@ -475,7 +475,7 @@ ValueNode_BLine::~ValueNode_BLine()
 ValueNode_BLine*
 ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 {
-	if(value.get_type()!=ValueBase::TYPE_LIST)
+	if(value.get_type()!=type_list)
 		return 0;
 
 	// don't set the parent canvas yet - do it just before returning from this function
@@ -485,13 +485,12 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 
 	if(!value.empty())
 	{
-		switch(value.get_contained_type())
-		{
-		case ValueBase::TYPE_BLINEPOINT:
+		Type &type(value.get_contained_type());
+		if (type == type_bline_point)
 		{
 //			std::vector<BLinePoint> bline_points(value.operator std::vector<BLinePoint>());
 			//std::vector<BLinePoint> bline_points(value);
-			std::vector<BLinePoint> bline_points(value.get_list().begin(),value.get_list().end());
+			std::vector<BLinePoint> bline_points(value.get_list_of(BLinePoint()));
 			std::vector<BLinePoint>::const_iterator iter;
 
 			for(iter=bline_points.begin();iter!=bline_points.end();iter++)
@@ -500,8 +499,8 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 			}
 			value_node->set_loop(value.get_loop());
 		}
-			break;
-		case ValueBase::TYPE_SEGMENT:
+		else
+		if (type == type_segment)
 		{
 			// Here, we want to convert a list of segments
 			// into a list of BLinePoints. We make an assumption
@@ -511,7 +510,7 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 			value_node->set_loop(false);
 //			std::vector<Segment> segments(value.operator std::vector<Segment>());
 //			std::vector<Segment> segments(value);
-			std::vector<Segment> segments(value.get_list().begin(),value.get_list().end());
+			std::vector<Segment> segments(value.get_list_of(Segment()));
 			std::vector<Segment>::const_iterator iter,last(segments.end());
 			--last;
 			ValueNode_Const::Handle prev,first;
@@ -523,20 +522,21 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 #define CURR_POINT	curr->get_value().get(BLinePoint())
 				if(iter==segments.begin())
 				{
-					prev=ValueNode_Const::Handle::cast_dynamic(create(ValueBase::TYPE_BLINEPOINT, canvas));
+					prev = ValueNode_Const::Handle::cast_dynamic(
+							ValueNode_Const::create(type_bline_point, canvas) );
 					{
 						BLinePoint prev_point(PREV_POINT);
 						prev_point.set_vertex(iter->p1);
 						prev_point.set_tangent1(iter->t1);
 						prev_point.set_width(0.01);
 						prev_point.set_origin(0.5);
-						prev_point.set_split_tangent_flag(false);
+						prev_point.set_split_tangent_both(false);
 						prev->set_value(prev_point);
 					}
 					first=prev;
 					value_node->add(ValueNode::Handle(prev));
-
 				}
+
 				if(iter==last && iter->p2.is_equal_to(FIRST_POINT.get_vertex()))
 				{
 					value_node->set_loop(true);
@@ -549,20 +549,22 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 					continue;
 				}
 
-				ValueNode_Const::Handle curr(ValueNode_Const::Handle::cast_dynamic(create(ValueBase::TYPE_BLINEPOINT, canvas)));
+				ValueNode_Const::Handle curr =
+					ValueNode_Const::Handle::cast_dynamic(
+						ValueNode_Const::create(type_bline_point, canvas) );
 				{
 					BLinePoint curr_point(CURR_POINT);
 					curr_point.set_vertex(iter->p2);
 					curr_point.set_tangent1(iter->t2);
 					curr_point.set_width(0.01);
 					curr_point.set_origin(0.5);
-					curr_point.set_split_tangent_flag(false);
+					curr_point.set_split_tangent_both(false);
 					curr->set_value(curr_point);
 				}
 				if(!PREV_POINT.get_tangent1().is_equal_to(iter->t1))
 				{
 					BLinePoint prev_point(PREV_POINT);
-					prev_point.set_split_tangent_flag(true);
+					prev_point.set_split_tangent_both(true);
 					prev_point.set_tangent2(iter->t1);
 					prev->set_value(prev_point);
 				}
@@ -571,12 +573,11 @@ ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 			}
 
 		}
-			break;
-		default:
+		else
+		{
 			// We got a list of who-knows-what. We don't have any idea
 			// what to do with it.
 			return 0;
-			break;
 		}
 	}
 
@@ -603,15 +604,18 @@ ValueNode_BLine::create_list_entry(int index, Time time, Real origin)
 		else
 			next_i=index;
 		prev_i=find_prev_valid_entry(index,time);
-		next=(*list[next_i].value_node)(time);
-		prev=(*list[prev_i].value_node)(time);
+		next=(*list[next_i].value_node)(time).get(BLinePoint());
+		prev=(*list[prev_i].value_node)(time).get(BLinePoint());
 		etl::hermite<Vector> curve(prev.get_vertex(),next.get_vertex(),prev.get_tangent2(),next.get_tangent1());
-		etl::derivative< etl::hermite<Vector> > deriv(curve);
-		bline_point.set_vertex(curve(origin));
+		etl::hermite<Vector> left;
+		etl::hermite<Vector> right;
+		curve.subdivide(&left, &right, origin);
+		bline_point.set_vertex(left[3]);
 		bline_point.set_width((next.get_width()-prev.get_width())*origin+prev.get_width());
-		bline_point.set_tangent1(deriv(origin)*min(1.0-origin,origin));
-		bline_point.set_tangent2(bline_point.get_tangent1());
-		bline_point.set_split_tangent_flag(false);
+		bline_point.set_split_tangent_radius(true);
+		bline_point.set_split_tangent_angle(false);
+		bline_point.set_tangent1((left[2]-left[3])*-3);
+		bline_point.set_tangent2((right[1]-right[0])*3);
 		bline_point.set_origin(origin);
 	}
 	ret.index=index;
@@ -665,12 +669,12 @@ ValueNode_BLine::operator()(Time t)const
 
 			if(next_scale!=1.0f)
 			{
-				ret_list.back().set_split_tangent_flag(true);
+				ret_list.back().set_split_tangent_both(true);
 				ret_list.back().set_tangent2(prev.get_tangent2()*next_scale);
 
 				ret_list.push_back(curr);
 
-				ret_list.back().set_split_tangent_flag(true);
+				ret_list.back().set_split_tangent_both(true);
 				ret_list.back().set_tangent2(curr.get_tangent2());
 				ret_list.back().set_tangent1(curr.get_tangent1()*next_scale);
 
@@ -834,8 +838,8 @@ ValueNode_BLine::operator()(Time t)const
 			// 	blp_here_now.set_vertex(linear_interpolation(blp_here_off.get_vertex(), blp_here_on.get_vertex(), amount) +
 			// 							(ref_point_now-ref_point_linear));
 			// 	blp_here_now.set_tangent1(linear_interpolation(blp_here_off.get_tangent1(), blp_here_on.get_tangent1(), amount));
-			// 	blp_here_now.set_split_tangent_flag(blp_here_on.get_split_tangent_flag());
-			// 	if(blp_here_now.get_split_tangent_flag())
+			// 	blp_here_now.set_split_tangent_both(blp_here_on.get_split_tangent_both());
+			// 	if(blp_here_now.get_split_tangent_both())
 			// 		blp_here_now.set_tangent2(linear_interpolation(blp_here_off.get_tangent2(), blp_here_on.get_tangent2(), amount));
 			// }
 			// else
@@ -888,7 +892,7 @@ ValueNode_BLine::operator()(Time t)const
 				transform_coords(blp_here_on.get_tangent1(),  trans_on_t1,  Point::zero(), on_coord_sys);
 				transform_coords(blp_here_off.get_tangent1(), trans_off_t1, Point::zero(), off_coord_sys);
 
-				if(blp_here_on.get_split_tangent_flag())
+				if(blp_here_on.get_split_tangent_both())
 				{
 					transform_coords(blp_here_on.get_tangent2(),  trans_on_t2,  Point::zero(), on_coord_sys);
 					transform_coords(blp_here_off.get_tangent2(), trans_off_t2, Point::zero(), off_coord_sys);
@@ -916,9 +920,9 @@ ValueNode_BLine::operator()(Time t)const
 				blp_here_now.set_tangent1(radial_interpolation(blp_here_off.get_tangent1(),blp_here_on.get_tangent1(),amount));
 #endif
 
-				if (blp_here_on.get_split_tangent_flag())
+				if (blp_here_on.get_split_tangent_both())
 				{
-					blp_here_now.set_split_tangent_flag(true);
+					blp_here_now.set_split_tangent_both(true);
 #ifdef COORD_SYS_RADIAL_TAN_INTERP
 					{
 						Vector tmp;
@@ -930,7 +934,7 @@ ValueNode_BLine::operator()(Time t)const
 #endif
 				}
 				else
-					blp_here_now.set_split_tangent_flag(false);
+					blp_here_now.set_split_tangent_both(false);
 			}
 
 			blp_here_now.set_origin(blp_here_on.get_origin());
@@ -947,10 +951,10 @@ ValueNode_BLine::operator()(Time t)const
 				continue;
 			}
 
-			ret_list.back().set_split_tangent_flag(true);
+			ret_list.back().set_split_tangent_both(true);
 			ret_list.back().set_tangent2(prev.get_tangent2()*prev_tangent_scalar);
 			ret_list.push_back(blp_here_now);
-			ret_list.back().set_split_tangent_flag(true);
+			ret_list.back().set_split_tangent_both(true);
 			//ret_list.back().set_tangent2(blp_here_now.get_tangent1());
 			ret_list.back().set_tangent1(blp_here_now.get_tangent1()*prev_tangent_scalar);
 
@@ -960,7 +964,7 @@ ValueNode_BLine::operator()(Time t)const
 
 	if(next_scale!=1.0f)
 	{
-		ret_list.back().set_split_tangent_flag(true);
+		ret_list.back().set_split_tangent_both(true);
 		ret_list.back().set_tangent2(prev.get_tangent2()*next_scale);
 	}
 
@@ -984,7 +988,7 @@ ValueNode_BLine::operator()(Time t)const
 	if(ret_list.empty())
 		synfig::warning(string("ValueNode_BLine::operator()():")+_("No entries in ret_list"));
 
-	return ValueBase(ret_list,get_loop());
+	return ValueBase(ValueBase::List(ret_list.begin(), ret_list.end()),get_loop());
 }
 
 String
@@ -1013,9 +1017,9 @@ ValueNode_BLine::create_new()const
 }
 
 bool
-ValueNode_BLine::check_type(ValueBase::Type type)
+ValueNode_BLine::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_LIST;
+	return type==type_list;
 }
 
 
@@ -1064,7 +1068,7 @@ ValueNode_BLine::get_blinepoint(std::vector<ListEntry>::const_iterator current,
 	// in fact the compensation makes it worst so it makes only sense when the
 	// vertex has a particular "shape" by its split tangents.
 	alpha=(vn-vp).angle()-(vns-vps).angle();
-	if (bpcurr.get_split_tangent_flag())
+	if (bpcurr.get_split_tangent_both())
 		gamma=((v-(vn+vp)*0.5).angle()-(vn-vp).angle()) - ((vs-(vns+vps)*0.5).angle()-(vns-vps).angle());
 	else
 		gamma=Angle::zero();
diff --git a/src/synfig/valuenode_bline.h b/src/synfig/valuenode_bline.h
index 91c727c..05d67b3 100644
--- a/src/synfig/valuenode_bline.h
+++ b/src/synfig/valuenode_bline.h
@@ -96,8 +96,8 @@ protected:
 
 public:
 	//using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLine* create(const ValueBase &x=ValueBase::TYPE_LIST, etl::loose_handle<Canvas> canvas = 0);
+	static bool check_type(Type &type);
+	static ValueNode_BLine* create(const ValueBase &x=type_list, etl::loose_handle<Canvas> canvas = 0);
 
 	//! Returns the BlinePoint at time t, with the tangents modified if
 	//! the vertex is boned influenced, otherwise returns the Blinepoint at time t.
diff --git a/src/synfig/valuenode_blinecalctangent.cpp b/src/synfig/valuenode_blinecalctangent.cpp
index 706cc66..79b816f 100644
--- a/src/synfig/valuenode_blinecalctangent.cpp
+++ b/src/synfig/valuenode_blinecalctangent.cpp
@@ -56,13 +56,13 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_BLineCalcTangent::ValueNode_BLineCalcTangent(const ValueBase::Type &x):
+ValueNode_BLineCalcTangent::ValueNode_BLineCalcTangent(Type &x):
 	LinkableValueNode(x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x!=ValueBase::TYPE_ANGLE && x!=ValueBase::TYPE_REAL && x!=ValueBase::TYPE_VECTOR)
-		throw Exception::BadType(ValueBase::type_local_name(x));
+	if(x!=type_angle && x!=type_real && x!=type_vector)
+		throw Exception::BadType(x.description.local_name);
 
 	ValueNode_BLine* value_node(new ValueNode_BLine());
 	set_link("bline",value_node);
@@ -114,13 +114,14 @@ ValueNode_BLineCalcTangent::operator()(Time t, Real amount)const
 
 	if (!looped) size--;
 	if (size < 1)
-		switch (get_type())
-		{
-			case ValueBase::TYPE_ANGLE:  return Angle();
-			case ValueBase::TYPE_REAL:   return Real();
-			case ValueBase::TYPE_VECTOR: return Vector();
-			default: assert(0); return ValueBase();
-		}
+	{
+		Type &type(get_type());
+		if (type == type_angle)  return Angle();
+		if (type == type_real)   return Real();
+		if (type == type_vector) return Vector();
+		assert(0);
+		return ValueBase();
+	}
 	if (loop)
 	{
 		amount = amount - int(amount);
@@ -138,31 +139,32 @@ ValueNode_BLineCalcTangent::operator()(Time t, Real amount)const
 	amount = amount * size;
 	from_vertex = int(amount);
 	if (from_vertex > size-1) from_vertex = size-1;
-	blinepoint0 = from_vertex ? *(next+from_vertex-1) : *iter;
-	blinepoint1 = *(next+from_vertex);
+	blinepoint0 = from_vertex ? (next+from_vertex-1)->get(BLinePoint()) : iter->get(BLinePoint());
+	blinepoint1 = (next+from_vertex)->get(BLinePoint());
 
 	etl::hermite<Vector> curve(blinepoint0.get_vertex(),   blinepoint1.get_vertex(),
 							   blinepoint0.get_tangent2(), blinepoint1.get_tangent1());
 	etl::derivative< etl::hermite<Vector> > deriv(curve);
 
-	switch (get_type())
+	Type &type(get_type());
+	if (type == type_angle)
+		return deriv(amount-from_vertex).angle() + offset;
+	if (type == type_real)
 	{
-		case ValueBase::TYPE_ANGLE:  return deriv(amount-from_vertex).angle() + offset;
-		case ValueBase::TYPE_REAL:
-		{
-			if (fixed_length) return scale;
-			return deriv(amount-from_vertex).mag() * scale;
-		}
-		case ValueBase::TYPE_VECTOR:
-		{
-			Vector tangent(deriv(amount-from_vertex));
-			Angle angle(tangent.angle() + offset);
-			Real mag = fixed_length ? scale : (tangent.mag() * scale);
-			return Vector(Angle::cos(angle).get()*mag,
-						  Angle::sin(angle).get()*mag);
-		}
-		default: assert(0); return ValueBase();
+		if (fixed_length) return scale;
+		return deriv(amount-from_vertex).mag() * scale;
 	}
+	if (type == type_vector)
+	{
+		Vector tangent(deriv(amount-from_vertex));
+		Angle angle(tangent.angle() + offset);
+		Real mag = fixed_length ? scale : (tangent.mag() * scale);
+		return Vector(Angle::cos(angle).get()*mag,
+					  Angle::sin(angle).get()*mag);
+	}
+
+	assert(0);
+	return ValueBase();
 }
 
 ValueBase
@@ -191,13 +193,13 @@ ValueNode_BLineCalcTangent::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,		ValueBase::TYPE_LIST);
-	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,			ValueBase::TYPE_BOOL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(amount_,		ValueBase::TYPE_REAL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(offset_,		ValueBase::TYPE_ANGLE);
-	case 4: CHECK_TYPE_AND_SET_VALUE(scale_,		ValueBase::TYPE_REAL);
-	case 5: CHECK_TYPE_AND_SET_VALUE(fixed_length_,	ValueBase::TYPE_BOOL);
-	case 6: CHECK_TYPE_AND_SET_VALUE(homogeneous_,	ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,		type_list);
+	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,			type_bool);
+	case 2: CHECK_TYPE_AND_SET_VALUE(amount_,		type_real);
+	case 3: CHECK_TYPE_AND_SET_VALUE(offset_,		type_angle);
+	case 4: CHECK_TYPE_AND_SET_VALUE(scale_,		type_real);
+	case 5: CHECK_TYPE_AND_SET_VALUE(fixed_length_,	type_bool);
+	case 6: CHECK_TYPE_AND_SET_VALUE(homogeneous_,	type_bool);
 	}
 	return false;
 }
@@ -222,11 +224,11 @@ ValueNode_BLineCalcTangent::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_BLineCalcTangent::check_type(ValueBase::Type type)
+ValueNode_BLineCalcTangent::check_type(Type &type)
 {
-	return (type==ValueBase::TYPE_ANGLE ||
-			type==ValueBase::TYPE_REAL  ||
-			type==ValueBase::TYPE_VECTOR);
+	return (type==type_angle ||
+			type==type_real  ||
+			type==type_vector);
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_blinecalctangent.h b/src/synfig/valuenode_blinecalctangent.h
index 31fa8ff..8392a07 100644
--- a/src/synfig/valuenode_blinecalctangent.h
+++ b/src/synfig/valuenode_blinecalctangent.h
@@ -47,7 +47,7 @@ class ValueNode_BLineCalcTangent : public LinkableValueNode
 	ValueNode::RHandle fixed_length_;
 	ValueNode::RHandle homogeneous_;
 
-	ValueNode_BLineCalcTangent(const ValueBase::Type &x=ValueBase::TYPE_VECTOR);
+	ValueNode_BLineCalcTangent(Type &x=type_vector);
 
 public:
 
@@ -71,8 +71,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLineCalcTangent* create(const ValueBase &x=ValueBase::TYPE_VECTOR);
+	static bool check_type(Type &type);
+	static ValueNode_BLineCalcTangent* create(const ValueBase &x=type_vector);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_BLineCalcTangent
 
diff --git a/src/synfig/valuenode_blinecalcvertex.cpp b/src/synfig/valuenode_blinecalcvertex.cpp
index 7ec8b75..41be34e 100644
--- a/src/synfig/valuenode_blinecalcvertex.cpp
+++ b/src/synfig/valuenode_blinecalcvertex.cpp
@@ -56,13 +56,13 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_BLineCalcVertex::ValueNode_BLineCalcVertex(const ValueBase::Type &x):
+ValueNode_BLineCalcVertex::ValueNode_BLineCalcVertex(Type &x):
 	LinkableValueNode(x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x!=ValueBase::TYPE_VECTOR)
-		throw Exception::BadType(ValueBase::type_local_name(x));
+	if(x!=type_vector)
+		throw Exception::BadType(x.description.local_name);
 
 	ValueNode_BLine* value_node(new ValueNode_BLine());
 	set_link("bline",value_node);
@@ -74,7 +74,7 @@ ValueNode_BLineCalcVertex::ValueNode_BLineCalcVertex(const ValueBase::Type &x):
 LinkableValueNode*
 ValueNode_BLineCalcVertex::create_new()const
 {
-	return new ValueNode_BLineCalcVertex(ValueBase::TYPE_VECTOR);
+	return new ValueNode_BLineCalcVertex(type_vector);
 }
 
 ValueNode_BLineCalcVertex*
@@ -126,8 +126,8 @@ ValueNode_BLineCalcVertex::operator()(Time t)const
 	amount = amount * size;
 	from_vertex = int(amount);
 	if (from_vertex > size-1) from_vertex = size-1;
-	blinepoint0 = from_vertex ? *(next+from_vertex-1) : *iter;
-	blinepoint1 = *(next+from_vertex);
+	blinepoint0 = from_vertex ? (next+from_vertex-1)->get(BLinePoint()) : iter->get(BLinePoint());
+	blinepoint1 = (next+from_vertex)->get(BLinePoint());
 
 	etl::hermite<Vector> curve(blinepoint0.get_vertex(),   blinepoint1.get_vertex(),
 							   blinepoint0.get_tangent2(), blinepoint1.get_tangent1());
@@ -159,10 +159,10 @@ ValueNode_BLineCalcVertex::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,  ValueBase::TYPE_LIST);
-	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,   ValueBase::TYPE_BOOL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(amount_, ValueBase::TYPE_REAL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(homogeneous_, ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,  type_list);
+	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,   type_bool);
+	case 2: CHECK_TYPE_AND_SET_VALUE(amount_, type_real);
+	case 3: CHECK_TYPE_AND_SET_VALUE(homogeneous_, type_bool);
 	}
 	return false;
 }
@@ -184,9 +184,9 @@ ValueNode_BLineCalcVertex::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_BLineCalcVertex::check_type(ValueBase::Type type)
+ValueNode_BLineCalcVertex::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_VECTOR;
+	return type==type_vector;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_blinecalcvertex.h b/src/synfig/valuenode_blinecalcvertex.h
index 4b0e103..11a8cdc 100644
--- a/src/synfig/valuenode_blinecalcvertex.h
+++ b/src/synfig/valuenode_blinecalcvertex.h
@@ -43,7 +43,7 @@ class ValueNode_BLineCalcVertex : public LinkableValueNode
 	ValueNode::RHandle amount_;
 	ValueNode::RHandle homogeneous_;
 
-	ValueNode_BLineCalcVertex(const ValueBase::Type &x=ValueBase::TYPE_VECTOR);
+	ValueNode_BLineCalcVertex(Type &x=type_vector);
 
 public:
 
@@ -66,8 +66,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLineCalcVertex* create(const ValueBase &x=ValueBase::TYPE_VECTOR);
+	static bool check_type(Type &type);
+	static ValueNode_BLineCalcVertex* create(const ValueBase &x=type_vector);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_BLineCalcVertex
 
diff --git a/src/synfig/valuenode_blinecalcwidth.cpp b/src/synfig/valuenode_blinecalcwidth.cpp
index 7ac7296..dd9c265 100644
--- a/src/synfig/valuenode_blinecalcwidth.cpp
+++ b/src/synfig/valuenode_blinecalcwidth.cpp
@@ -56,13 +56,13 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_BLineCalcWidth::ValueNode_BLineCalcWidth(const ValueBase::Type &x):
+ValueNode_BLineCalcWidth::ValueNode_BLineCalcWidth(Type &x):
 	LinkableValueNode(x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x!=ValueBase::TYPE_REAL)
-		throw Exception::BadType(ValueBase::type_local_name(x));
+	if(x!=type_real)
+		throw Exception::BadType(x.description.local_name);
 
 	ValueNode_BLine* value_node(new ValueNode_BLine());
 	set_link("bline",value_node);
@@ -75,7 +75,7 @@ ValueNode_BLineCalcWidth::ValueNode_BLineCalcWidth(const ValueBase::Type &x):
 LinkableValueNode*
 ValueNode_BLineCalcWidth::create_new()const
 {
-	return new ValueNode_BLineCalcWidth(ValueBase::TYPE_REAL);
+	return new ValueNode_BLineCalcWidth(type_real);
 }
 
 ValueNode_BLineCalcWidth*
@@ -127,8 +127,8 @@ ValueNode_BLineCalcWidth::operator()(Time t, Real amount)const
 	amount = amount * size;
 	from_vertex = int(amount);
 	if (from_vertex > size-1) from_vertex = size-1;
-	blinepoint0 = from_vertex ? *(next+from_vertex-1) : *iter;
-	blinepoint1 = *(next+from_vertex);
+	blinepoint0 = from_vertex ? (next+from_vertex-1)->get(BLinePoint()) : iter->get(BLinePoint());
+	blinepoint1 = (next+from_vertex)->get(BLinePoint());
 
 	float width0 = blinepoint0.get_width();
 	float width1 = blinepoint1.get_width();
@@ -162,11 +162,11 @@ ValueNode_BLineCalcWidth::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,  ValueBase::TYPE_LIST);
-	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,   ValueBase::TYPE_BOOL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(amount_, ValueBase::TYPE_REAL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(scale_,  ValueBase::TYPE_REAL);
-	case 4: CHECK_TYPE_AND_SET_VALUE(homogeneous_,  ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(bline_,  type_list);
+	case 1: CHECK_TYPE_AND_SET_VALUE(loop_,   type_bool);
+	case 2: CHECK_TYPE_AND_SET_VALUE(amount_, type_real);
+	case 3: CHECK_TYPE_AND_SET_VALUE(scale_,  type_real);
+	case 4: CHECK_TYPE_AND_SET_VALUE(homogeneous_,  type_bool);
 	}
 	return false;
 }
@@ -189,9 +189,9 @@ ValueNode_BLineCalcWidth::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_BLineCalcWidth::check_type(ValueBase::Type type)
+ValueNode_BLineCalcWidth::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_blinecalcwidth.h b/src/synfig/valuenode_blinecalcwidth.h
index a010d53..8dc1a98 100644
--- a/src/synfig/valuenode_blinecalcwidth.h
+++ b/src/synfig/valuenode_blinecalcwidth.h
@@ -45,7 +45,7 @@ class ValueNode_BLineCalcWidth : public LinkableValueNode
 	ValueNode::RHandle scale_;
 	ValueNode::RHandle homogeneous_;
 
-	ValueNode_BLineCalcWidth(const ValueBase::Type &x=ValueBase::TYPE_REAL);
+	ValueNode_BLineCalcWidth(Type &x=type_real);
 
 public:
 
@@ -69,8 +69,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLineCalcWidth* create(const ValueBase &x=ValueBase::TYPE_REAL);
+	static bool check_type(Type &type);
+	static ValueNode_BLineCalcWidth* create(const ValueBase &x=type_real);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_BLineCalcWidth
 
diff --git a/src/synfig/valuenode_blinereversetangent.cpp b/src/synfig/valuenode_blinereversetangent.cpp
index 8befbea..5b01c8f 100644
--- a/src/synfig/valuenode_blinereversetangent.cpp
+++ b/src/synfig/valuenode_blinereversetangent.cpp
@@ -56,7 +56,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_BLineRevTangent::ValueNode_BLineRevTangent(const ValueBase::Type &x):
+ValueNode_BLineRevTangent::ValueNode_BLineRevTangent(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -66,8 +66,8 @@ ValueNode_BLineRevTangent::ValueNode_BLineRevTangent(const ValueNode::Handle &x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x->get_type()!=ValueBase::TYPE_BLINEPOINT)
-		throw Exception::BadType(ValueBase::type_local_name(x->get_type()));
+	if(x->get_type()!=type_bline_point)
+		throw Exception::BadType(x->get_type().description.local_name);
 
 	set_link("reference",x);
 	set_link("reverse",ValueNode_Const::create(bool(false)));
@@ -98,21 +98,9 @@ ValueNode_BLineRevTangent::operator()(Time t)const
 
 	if ((*reverse_)(t).get(bool()))
 	{
-		BLinePoint reference((*reference_)(t));
+		BLinePoint reference((*reference_)(t).get(BLinePoint()));
 		BLinePoint ret(reference);
-		if(ret.get_split_tangent_flag())
-		{
-			ret.set_tangent1(-reference.get_tangent2());
-			ret.set_tangent2(-reference.get_tangent1());
-		}
-		else
-		{
-			// \todo what should we do here really?
-			// it seems that there's some pre-existing bug
-			// with the 'reference' convert, too - referencing
-			// a non-split blinepoint causes some problems
-			ret.set_tangent1(-reference.get_tangent1());
-		}
+		ret.reverse();
 		return ret;
 	}
 	else
@@ -139,7 +127,7 @@ ValueNode_BLineRevTangent::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(reference_, get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(reverse_,   ValueBase::TYPE_BOOL);
+	case 1: CHECK_TYPE_AND_SET_VALUE(reverse_,   type_bool);
 	}
 	return false;
 }
@@ -159,9 +147,9 @@ ValueNode_BLineRevTangent::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_BLineRevTangent::check_type(ValueBase::Type type)
+ValueNode_BLineRevTangent::check_type(Type &type)
 {
-	return (type==ValueBase::TYPE_BLINEPOINT);
+	return (type==type_bline_point);
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_blinereversetangent.h b/src/synfig/valuenode_blinereversetangent.h
index 349f32c..d5e79d8 100644
--- a/src/synfig/valuenode_blinereversetangent.h
+++ b/src/synfig/valuenode_blinereversetangent.h
@@ -42,7 +42,7 @@ class ValueNode_BLineRevTangent : public LinkableValueNode
 	ValueNode::RHandle reference_;
 	ValueNode::RHandle reverse_;
 
-	ValueNode_BLineRevTangent(const ValueBase::Type &x=ValueBase::TYPE_BLINEPOINT);
+	ValueNode_BLineRevTangent(Type &x=type_bline_point);
 	ValueNode_BLineRevTangent(const ValueNode::Handle &x);
 
 public:
@@ -66,8 +66,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLineRevTangent* create(const ValueBase &x=ValueBase::TYPE_VECTOR);
+	static bool check_type(Type &type);
+	static ValueNode_BLineRevTangent* create(const ValueBase &x=type_vector);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_BLineRevTangent
 
diff --git a/src/synfig/valuenode_bone.cpp b/src/synfig/valuenode_bone.cpp
index f6c01f3..9d69344 100644
--- a/src/synfig/valuenode_bone.cpp
+++ b/src/synfig/valuenode_bone.cpp
@@ -64,7 +64,6 @@ using namespace synfig;
 
 static ValueNode_Bone::CanvasMap canvas_map;
 static int bone_counter;
-// static map<ValueNode_Bone::Handle, Matrix> setup_matrix_map;
 // static map<ValueNode_Bone::Handle, Matrix> animated_matrix_map;
 static Time last_time = Time::begin();
 
@@ -221,8 +220,7 @@ ValueNode_Bone::get_ordered_bones(etl::handle<const Canvas> canvas)
 
 // this should only be used when creating the root bone
 ValueNode_Bone::ValueNode_Bone():
-	LinkableValueNode(ValueBase::TYPE_BONE),
-	setup_(false)
+	LinkableValueNode(type_bone_object)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
@@ -231,8 +229,7 @@ ValueNode_Bone::ValueNode_Bone():
 }
 
 ValueNode_Bone::ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas> canvas):
-	LinkableValueNode(value.get_type()),
-	setup_(false)
+	LinkableValueNode(value.get_type())
 {
 	if (getenv("SYNFIG_DEBUG_BONE_CONSTRUCTORS"))
 	{
@@ -242,9 +239,8 @@ ValueNode_Bone::ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas>
 	}
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_BONE:
+	Type &type = value.get_type();
+	if (type == type_bone_object)
 	{
 		Bone bone(value.get(Bone()));
 		String name(bone.get_name());
@@ -259,13 +255,11 @@ ValueNode_Bone::ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas>
 		set_link("origin",ValueNode_Const::create(bone.get_origin()));
 		set_link("angle",ValueNode_Const::create(bone.get_angle()));
 		set_link("scalelx",ValueNode_Const::create(bone.get_scalelx()));
-		set_link("scalely",ValueNode_Const::create(bone.get_scalely()));
 		set_link("scalex",ValueNode_Const::create(bone.get_scalex()));
-		set_link("scaley",ValueNode_Const::create(bone.get_scaley()));
-		set_link("origin0",ValueNode_Const::create(bone.get_origin0()));
-		set_link("angle0",ValueNode_Const::create(bone.get_angle0()));
 		set_link("length",ValueNode_Const::create(bone.get_length()));
-		set_link("strength",ValueNode_Const::create(bone.get_strength()));
+		set_link("width",ValueNode_Const::create(bone.get_width()));
+		set_link("tipwidth",ValueNode_Const::create(bone.get_tipwidth()));
+		set_link("bone_depth",ValueNode_Const::create(bone.get_depth()));
 #endif
 		ValueNode_Bone::ConstHandle parent(ValueNode_Bone::Handle::cast_const(bone.get_parent()));
 		if (!parent) parent = get_root_bone();
@@ -280,11 +274,10 @@ ValueNode_Bone::ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas>
 		set_parent_canvas(canvas);
 
 		show_bone_map(get_root_canvas(), __FILE__, __LINE__, strprintf("in constructor of %s at %lx", GET_GUID_CSTR(get_guid()), uintptr_t(this)));
-
-		break;
 	}
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -360,40 +353,6 @@ ValueNode_Bone::set_root_canvas(etl::loose_handle<Canvas> canvas)
 			printf("%s:%d canvases are the same\n", __FILE__, __LINE__);
 }
 
-//!Setup Transformation matrix.
-//!This matrix applied to a setup point in global
-//!coordinates calculates the local coordinates of
-//!the point relative to the current bone.
-Matrix
-ValueNode_Bone::get_setup_matrix(Time t)const
-{
-	Point  origin0	((*origin0_	)(t).get(Point()));
-	Angle  angle0	((*angle0_	)(t).get(Angle()));
-
-	return (get_parent(t)->get_setup_matrix(t) *
-			Matrix().set_translate(-origin0) *
-			Matrix().set_rotate(-angle0));
-}
-
-Matrix
-ValueNode_Bone::get_setup_matrix(Time t, Point translate, Angle rotate, ValueNode_Bone::ConstHandle parent)const
-{
-	Matrix parent_matrix(parent->get_setup_matrix(t));
-	Matrix ret(parent_matrix *
-			   Matrix().set_translate(-translate) *
-			   Matrix().set_rotate(-rotate));
-
-	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION"))
-	{
-		printf("%s  *\n", parent_matrix.get_string(18, "", strprintf("rotate(%.2f)", Angle::deg(-rotate).get())).c_str());
-		printf("%s  *\n", Matrix().set_translate(-translate).get_string(18, "setup_matrix = ", strprintf("translate(%7.2f, %7.2f) (%s)", -translate[0], -translate[1], get_bone_name(t).c_str())).c_str());
-		printf("%s  =\n", Matrix().set_rotate(-rotate).get_string(18).c_str());
-		printf("%s\n",	  ret.get_string(18).c_str());
-	}
-
-	return ret;
-}
-
 //!Animated Transformation matrix.
 //!This matrix applied to a setup point in local
 //!coordinates (the one obtained form the Setup
@@ -404,14 +363,12 @@ Matrix
 ValueNode_Bone::get_animated_matrix(Time t, Point child_origin)const
 {
 	Real   scalelx	((*scalelx_	)(t).get(Real ()));
-	Real   scalely	((*scalely_	)(t).get(Real ()));
 	Real   scalex	((*scalex_	)(t).get(Real ()));
-	Real   scaley	((*scaley_	)(t).get(Real ()));
 	Angle  angle	((*angle_	)(t).get(Angle()));
 	Point  origin	((*origin_	)(t).get(Point()));
 
-	return (Matrix().set_translate(child_origin[0]*scalelx, child_origin[1]*scalely) *
-			Matrix().set_scale(scalex,scaley) *
+	return (Matrix().set_translate(child_origin[0]*scalelx, child_origin[1]) *
+			Matrix().set_scale(scalex,1.0) *
 			Matrix().set_rotate(angle) *
 			get_parent(t)->get_animated_matrix(t, origin));
 }
@@ -475,18 +432,13 @@ ValueNode_Bone::operator()(Time t)const
 	Point  bone_origin			((*origin_	)(t).get(Point()));
 	Angle  bone_angle			((*angle_	)(t).get(Angle()));
 	Real   bone_scalelx			((*scalelx_	)(t).get(Real()));
-	Real   bone_scalely			((*scalely_	)(t).get(Real()));
 	Real   bone_scalex			((*scalex_	)(t).get(Real()));
-	Real   bone_scaley			((*scaley_	)(t).get(Real()));
-	Point  bone_origin0			((*origin0_	)(t).get(Point()));
-	Angle  bone_angle0			((*angle0_	)(t).get(Angle()));
 	Real   bone_length			((*length_	)(t).get(Real()));
-	Real   bone_strength		((*strength_)(t).get(Real()));
-	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_setup_matrix() for %s\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
-	Matrix bone_setup_matrix	(get_setup_matrix   (t, bone_origin0, bone_angle0, bone_parent));
-	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_setup_matrix() for %s done\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
+	Real   bone_width			((*width_	)(t).get(Real()));
+	Real   bone_tipwidth		((*tipwidth_)(t).get(Real()));
+	Real   bone_depth			((*depth_)(t).get(Real()));
 	if (getenv("SYNFIG_DEBUG_ANIMATED_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_animated_matrix() for %s\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
-	Matrix bone_animated_matrix	(get_animated_matrix(t, bone_scalex, bone_scaley, bone_angle, bone_origin, bone_parent));
+	Matrix bone_animated_matrix	(get_animated_matrix(t, bone_scalex, 1.0, bone_angle, bone_origin, bone_parent));
 	if (getenv("SYNFIG_DEBUG_ANIMATED_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_animated_matrix() for %s done\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
 #endif
 
@@ -498,22 +450,18 @@ ValueNode_Bone::operator()(Time t)const
 	ret.set_origin			(bone_origin);
 	ret.set_angle			(bone_angle);
 	ret.set_scalelx			(bone_scalelx);
-	ret.set_scalely			(bone_scalely);
 	ret.set_scalex			(bone_scalex);
-	ret.set_scaley			(bone_scaley);
-	ret.set_origin0			(bone_origin0);
-	ret.set_angle0			(bone_angle0);
 	ret.set_length			(bone_length);
-	ret.set_strength		(bone_strength);
-	ret.set_setup_matrix	(bone_setup_matrix);
+	ret.set_width			(bone_width);
+	ret.set_tipwidth		(bone_tipwidth);
+	ret.set_depth			(bone_depth);
 	ret.set_animated_matrix	(bone_animated_matrix);
 #endif
-	ret.set_setup			(setup_);
 
 	return ret;
 }
 
-ValueNode*
+ValueNode::Handle
 ValueNode_Bone::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	String old_name;
@@ -522,7 +470,8 @@ ValueNode_Bone::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 
 	if (!name_link->is_exported())
 	{
-		if (const_name_link = ValueNode_Const::Handle::cast_dynamic(name_link))
+		const_name_link = ValueNode_Const::Handle::cast_dynamic(name_link);
+		if (const_name_link)
 		{
 			String name(old_name = const_name_link->get_value().get(String()));
 //			printf("got old name '%s'\n", name.c_str());
@@ -536,7 +485,7 @@ ValueNode_Bone::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 //	else
 //		printf("%s:%d cloned bone's name is exported, so not editing\n", __FILE__, __LINE__);
 
-	ValueNode* ret(LinkableValueNode::clone(canvas, deriv_guid));
+	ValueNode::Handle ret(LinkableValueNode::clone(canvas, deriv_guid));
 
 	if (const_name_link)
 		const_name_link->set_value(old_name);
@@ -563,9 +512,9 @@ ValueNode_Bone::get_bone_name(Time t)const
 }
 
 bool
-ValueNode_Bone::check_type(ValueBase::Type type)
+ValueNode_Bone::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BONE;
+	return type==type_bone_object;
 }
 
 bool
@@ -575,10 +524,10 @@ ValueNode_Bone::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(name_,		ValueBase::TYPE_STRING);
+	case 0: CHECK_TYPE_AND_SET_VALUE(name_, type_string);
 	case 1:
 	{
-		VALUENODE_CHECK_TYPE(ValueBase::TYPE_VALUENODE_BONE);
+		VALUENODE_CHECK_TYPE(type_bone_valuenode);
 
 		// check for loops
 		ValueNode_Bone::BoneSet parents(ValueNode_Bone::get_bones_referenced_by(value));
@@ -591,16 +540,14 @@ ValueNode_Bone::set_link_vfunc(int i,ValueNode::Handle value)
 		VALUENODE_SET_VALUE(parent_);
 	}
 #ifndef HIDE_BONE_FIELDS
-	case 2: CHECK_TYPE_AND_SET_VALUE(origin_,	ValueBase::TYPE_VECTOR);
-	case 3: CHECK_TYPE_AND_SET_VALUE(angle_,	ValueBase::TYPE_ANGLE);
-	case 4: CHECK_TYPE_AND_SET_VALUE(scalelx_,	ValueBase::TYPE_REAL);
-	case 5: CHECK_TYPE_AND_SET_VALUE(scalely_,	ValueBase::TYPE_REAL);
-	case 6: CHECK_TYPE_AND_SET_VALUE(scalex_,	ValueBase::TYPE_REAL);
-	case 7: CHECK_TYPE_AND_SET_VALUE(scaley_,	ValueBase::TYPE_REAL);
-	case 8: CHECK_TYPE_AND_SET_VALUE(origin0_,	ValueBase::TYPE_VECTOR);
-	case 9: CHECK_TYPE_AND_SET_VALUE(angle0_,	ValueBase::TYPE_ANGLE);
-	case 10:CHECK_TYPE_AND_SET_VALUE(length_,	ValueBase::TYPE_REAL);
-	case 11:CHECK_TYPE_AND_SET_VALUE(strength_,	ValueBase::TYPE_REAL);
+	case 2: CHECK_TYPE_AND_SET_VALUE(origin_,	type_vector);
+	case 3: CHECK_TYPE_AND_SET_VALUE(angle_,	type_angle);
+	case 4: CHECK_TYPE_AND_SET_VALUE(scalelx_,	type_real);
+	case 5: CHECK_TYPE_AND_SET_VALUE(width_,	type_real);
+	case 6: CHECK_TYPE_AND_SET_VALUE(scalex_,	type_real);
+	case 7: CHECK_TYPE_AND_SET_VALUE(tipwidth_,	type_real);
+	case 8: CHECK_TYPE_AND_SET_VALUE(depth_,	type_real);
+	case 9: CHECK_TYPE_AND_SET_VALUE(length_,	type_real);
 #endif
 	}
 	return false;
@@ -619,13 +566,11 @@ ValueNode_Bone::get_link_vfunc(int i)const
 	case 2: return origin_;
 	case 3: return angle_;
 	case 4: return scalelx_;
-	case 5: return scalely_;
+	case 5: return width_;
 	case 6: return scalex_;
-	case 7: return scaley_;
-	case 8: return origin0_;
-	case 9: return angle0_;
-	case 10:return length_;
-	case 11:return strength_;
+	case 7: return tipwidth_;
+	case 8: return depth_;
+	case 9: return length_;
 #endif
 	}
 
@@ -648,56 +593,46 @@ ValueNode_Bone::get_children_vocab_vfunc() const
 		.set_description(_("The parent bone of the bone"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"origin")
+	ret.push_back(ParamDesc(ValueBase(),"origin")
 		.set_local_name(_("Origin"))
 		.set_description(_("The rotating origin of the bone relative to its parent"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"angle")
+	ret.push_back(ParamDesc(ValueBase(),"angle")
 		.set_local_name(_("Angle"))
 		.set_description(_("The rotating angle of the bone relative to its parent"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"scalelx")
+	ret.push_back(ParamDesc(ValueBase(),"scalelx")
 		.set_local_name(_("Local Length Scale"))
 		.set_description(_("The scale of the bone aligned its length"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"scalely")
-		.set_local_name(_("Local Width Scale"))
-		.set_description(_("The scale of the bone perpendicular to its length"))
+	ret.push_back(ParamDesc(ValueBase(),"width")
+		.set_local_name(_("Bone Width"))
+		.set_description(_("Bone width at its origin"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"scalex")
+	ret.push_back(ParamDesc(ValueBase(),"scalex")
 		.set_local_name(_("Recursive Length Scale"))
 		.set_description(_("The scale of the bone and its children aligned to its length"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"scaley")
-		.set_local_name(_("Recursive Width Scale"))
-		.set_description(_("The scale of the bone and its children perpendicular to its length"))
-	);
-
-		ret.push_back(ParamDesc(ValueBase(),"origin0")
-		.set_local_name(_("Origin Setup"))
-		.set_description(_("The rotating origin of the bone relative to its parent at setup"))
+	ret.push_back(ParamDesc(ValueBase(),"tipwidth")
+		.set_local_name(_("Tip Width"))
+		.set_description(_("Bone width at its tip"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"angle0")
-		.set_local_name(_("Angle Setup"))
-		.set_description(_("The rotating angle of the bone relative to its parent at setup"))
+	ret.push_back(ParamDesc(ValueBase(),"bone_depth")
+		.set_local_name(_("Z-Depth"))
+		.set_description(_("The z-depth of the bone"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"length")
+	ret.push_back(ParamDesc(ValueBase(),"length")
 		.set_local_name(_("Length Setup"))
 		.set_description(_("The length of the bone at setup"))
 	);
 
-		ret.push_back(ParamDesc(ValueBase(),"strength")
-		.set_local_name(_("Strength Setup"))
-		.set_description(_("The strength of the bone at setup"))
-	);
-
 	return ret;
 }
 
@@ -829,7 +764,7 @@ ValueNode_Bone::get_bones_referenced_by(ValueNode::Handle value_node, bool recur
 	if (ValueNode_Const::Handle value_node_const = ValueNode_Const::Handle::cast_dynamic(value_node))
 	{
 		ValueBase value_node(value_node_const->get_value());
-		if (value_node.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+		if (value_node.get_type() == type_bone_valuenode)
 			if (ValueNode_Bone::Handle bone = value_node.get(ValueNode_Bone::Handle()))
 			{
 				// do we want to check for bone references in other bone fields or just 'parent'?
@@ -848,7 +783,7 @@ ValueNode_Bone::get_bones_referenced_by(ValueNode::Handle value_node, bool recur
 	// if it's a ValueNode_Animated
 	if (ValueNode_Animated::Handle value_node_animated = ValueNode_Animated::Handle::cast_dynamic(value_node))
 	{
-		// ValueNode_Animated::Handle ret = ValueNode_Animated::create(ValueBase::TYPE_BONE);
+		// ValueNode_Animated::Handle ret = ValueNode_Animated::create(type_bone_object);
 		ValueNode_Animated::WaypointList list(value_node_animated->waypoint_list());
 		for (ValueNode_Animated::WaypointList::iterator iter = list.begin(); iter != list.end(); iter++)
 		{
@@ -1128,19 +1063,13 @@ ValueNode_Bone_Root::create_new()const
 }
 
 Matrix
-ValueNode_Bone_Root::get_setup_matrix(Time t __attribute__ ((unused)))const
-{
-	return Matrix();
-}
-
-Matrix
 ValueNode_Bone_Root::get_animated_matrix(Time t __attribute__ ((unused)), Point child_origin)const
 {
 	return Matrix().set_translate(child_origin);
 }
 
 bool
-ValueNode_Bone_Root::check_type(ValueBase::Type type __attribute__ ((unused)))
+ValueNode_Bone_Root::check_type(Type &type __attribute__ ((unused)))
 {
 	return false;
 }
diff --git a/src/synfig/valuenode_bone.h b/src/synfig/valuenode_bone.h
index 30f12b4..fe91d10 100644
--- a/src/synfig/valuenode_bone.h
+++ b/src/synfig/valuenode_bone.h
@@ -40,17 +40,14 @@ class ValueNode_Bone : public LinkableValueNode
 {
 	ValueNode::RHandle name_;
 	ValueNode::RHandle origin_;
-	ValueNode::RHandle origin0_;
 	ValueNode::RHandle angle_;
-	ValueNode::RHandle angle0_;
 	ValueNode::RHandle scalelx_;
-	ValueNode::RHandle scalely_;
 	ValueNode::RHandle scalex_;
-	ValueNode::RHandle scaley_;
 	ValueNode::RHandle length_;
-	ValueNode::RHandle strength_;
+        ValueNode::RHandle width_;
+	ValueNode::RHandle tipwidth_;
+	ValueNode::RHandle depth_;
 	ValueNode::RHandle parent_;
-	bool setup_;
 
 protected:
 	ValueNode_Bone();
@@ -68,7 +65,7 @@ public:
 
 	virtual ValueBase operator()(Time t)const;
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	virtual ~ValueNode_Bone();
 	virtual void set_guid(const GUID& new_guid);
@@ -79,6 +76,10 @@ public:
 	virtual String get_bone_name(Time t)const;
 
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
+	
+	// checks if point belongs to the range of influence of current bone
+	bool have_influence_on(Time t, const Vector &x)const
+		{ return (*this)(t).get(Bone()).have_influence_on(x); }
 
 protected:
 	LinkableValueNode* create_new()const;
@@ -90,7 +91,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Bone* create(const ValueBase &x, etl::loose_handle<Canvas> canvas = 0);
 	virtual Vocab get_children_vocab_vfunc()const;
 	ValueNode_Bone::LooseHandle find(String name)const;
@@ -117,9 +118,6 @@ public:
 
 	static ValueNode_Bone::Handle get_root_bone();
 
-	bool get_setup() { return setup_; }
-	void set_setup(bool value) { setup_ = value; changed(); }
-
 #ifdef _DEBUG
 	virtual void ref()const;
 	virtual bool unref()const;
@@ -128,8 +126,6 @@ public:
 #endif
 
 private:
-	virtual Matrix get_setup_matrix(Time t)const;
-	Matrix get_setup_matrix(Time t, Point origin0, Angle angle0, ValueNode_Bone::ConstHandle parent)const;
 	virtual Matrix get_animated_matrix(Time t, Point child_origin)const;
 	Matrix get_animated_matrix(Time t, Real scalex, Real scaley, Angle angle, Point origin, ValueNode_Bone::ConstHandle parent)const;
 	ValueNode_Bone::ConstHandle get_parent(Time t)const;
@@ -156,14 +152,13 @@ public:
 	virtual bool is_root()const { return true; }
 
 private:
-	Matrix get_setup_matrix(Time t)const;
 	Matrix get_animated_matrix(Time t, Point child_origin)const;
 
 protected:
 	LinkableValueNode* create_new()const;
 
 public:
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Bone* create(const ValueBase &x);
 
 #ifdef _DEBUG
diff --git a/src/synfig/valuenode_boneinfluence.cpp b/src/synfig/valuenode_boneinfluence.cpp
index 66dbda5..5830fca 100644
--- a/src/synfig/valuenode_boneinfluence.cpp
+++ b/src/synfig/valuenode_boneinfluence.cpp
@@ -57,21 +57,22 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_BoneInfluence::ValueNode_BoneInfluence(const ValueBase::Type &x):
-	LinkableValueNode(x)
+ValueNode_BoneInfluence::ValueNode_BoneInfluence(Type &x):
+	LinkableValueNode(x),
+	checked_inverse_(),
+	has_inverse_()
 {
 }
 
 ValueNode_BoneInfluence::ValueNode_BoneInfluence(const ValueNode::Handle &x, Canvas::LooseHandle canvas):
-	LinkableValueNode(x->get_type())
+	LinkableValueNode(x->get_type()),
+	checked_inverse_(),
+	has_inverse_()
 {
-	switch(x->get_type())
+	Type &type(x->get_type());
+	if (type == type_vector || type == type_bline_point)
 	{
-	case ValueBase::TYPE_VECTOR:
-	case ValueBase::TYPE_BLINEPOINT:
-	//case ValueBase::TYPE_BLINE:
-	{
-		ValueNode_StaticList::Handle bone_weight_list(ValueNode_StaticList::create(ValueBase::TYPE_BONE_WEIGHT_PAIR, canvas));
+		ValueNode_StaticList::Handle bone_weight_list(ValueNode_StaticList::create(type_bone_weight_pair, canvas));
 		bone_weight_list->add(ValueNode_BoneWeightPair::create(BoneWeightPair(Bone(), 1), canvas));
 		set_link("bone_weight_list",	bone_weight_list);
 		set_link("link",				x);
@@ -79,18 +80,17 @@ ValueNode_BoneInfluence::ValueNode_BoneInfluence(const ValueNode::Handle &x, Can
 		if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
 			printf("%s:%d set parent canvas for bone influence to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()));
 		set_parent_canvas(canvas);
-
-		break;
 	}
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(x->get_type()));
+	else
+	{
+		throw Exception::BadType(type.description.local_name);
 	}
 }
 
 ValueNode_BoneInfluence*
 ValueNode_BoneInfluence::create(const ValueBase &x, Canvas::LooseHandle canvas)
 {
-	if (x.get_type() == ValueBase::TYPE_BLINEPOINT)
+	if (x.get_type() == type_bline_point)
 		return new ValueNode_BoneInfluence(ValueNode_Composite::create(x, canvas), canvas);
 
 	return new ValueNode_BoneInfluence(ValueNode_Const::create(x, canvas), canvas);
@@ -114,9 +114,8 @@ ValueNode_BoneInfluence::operator()(Time t)const
 		printf("%s:%d operator()\n", __FILE__, __LINE__);
 
 	Matrix transform(get_transform(true, t));
-	switch(link_->get_type())
-	{
-	case ValueBase::TYPE_VECTOR:
+	Type &type(link_->get_type());
+	if (type == type_vector)
 	{
 		Vector link((*link_)(t).get(Vector()));
 
@@ -131,7 +130,7 @@ ValueNode_BoneInfluence::operator()(Time t)const
 
 		return transform.get_transformed(link);
 	}
-	case ValueBase::TYPE_BLINEPOINT:
+	if (type == type_bline_point)
 	{
 		BLinePoint link((*link_)(t).get(BLinePoint()));
 		Point v(link.get_vertex());
@@ -141,7 +140,7 @@ ValueNode_BoneInfluence::operator()(Time t)const
 		if (!getenv("SYNFIG_COMPLEX_TANGENT_BONE_INFLUENCE"))
 		{
 			link.set_tangent1(transform.get_transformed(link.get_tangent1() + v) - vt);
-			if (link.get_split_tangent_flag())
+			if (link.get_split_tangent_both())
 				link.set_tangent2(transform.get_transformed(link.get_tangent2() + v) - vt);
 		}
 		else
@@ -161,10 +160,8 @@ ValueNode_BoneInfluence::operator()(Time t)const
 														  )).c_str());
 		return link;
 	}
-	default:
-		assert(0);
-		break;
-	}
+
+	assert(0);
 	return ValueBase();
 }
 
@@ -188,7 +185,7 @@ ValueNode_BoneInfluence::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(bone_weight_list_,	ValueBase::TYPE_LIST);
+	case 0: CHECK_TYPE_AND_SET_VALUE(bone_weight_list_,	type_list);
 	case 1: CHECK_TYPE_AND_SET_VALUE(link_,				get_type());
 	}
 
@@ -210,10 +207,10 @@ ValueNode_BoneInfluence::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_BoneInfluence::check_type(ValueBase::Type type)
+ValueNode_BoneInfluence::check_type(Type &type)
 {
-	return 	type==ValueBase::TYPE_VECTOR ||
-			type==ValueBase::TYPE_BLINEPOINT;
+	return 	type==type_vector ||
+			type==type_bline_point;
 }
 
 LinkableValueNode::Vocab
@@ -249,16 +246,11 @@ ValueNode_BoneInfluence::calculate_transform(Time t)const
 
 		if (getenv("SYNFIG_DEBUG_BONE_TRANSFORM_WEIGHTING"))
 		{
-			printf("%s  *\n", bone.get_setup_matrix().get_string(15, "t = setup").c_str());
 			printf("%s  *\n", Matrix().set_scale(bone.get_local_scale()).get_string(15, "local scale").c_str());
 			printf("%s  =\n", bone.get_animated_matrix().get_string(15, "animated", strprintf("* %.2f (weight)", weight)).c_str());
-			printf("%s\n",	 (bone.get_setup_matrix() * Matrix().set_scale(bone.get_local_scale()) * bone.get_animated_matrix() * weight).get_string(15).c_str());
 		}
 
-		if (bone.get_setup()) continue;
-
-		transform += (bone.get_setup_matrix() *
-					  Matrix().set_scale(bone.get_local_scale()) *
+		transform += (Matrix().set_scale(bone.get_local_scale()) *
 					  bone.get_animated_matrix() *
 					  weight);
 		total_weight += weight;
diff --git a/src/synfig/valuenode_boneinfluence.h b/src/synfig/valuenode_boneinfluence.h
index 9f1afb7..5f3366b 100644
--- a/src/synfig/valuenode_boneinfluence.h
+++ b/src/synfig/valuenode_boneinfluence.h
@@ -47,11 +47,11 @@ public:
 	typedef etl::handle<ValueNode_BoneInfluence> Handle;
 	typedef etl::handle<const ValueNode_BoneInfluence> ConstHandle;
 
-	ValueNode_BoneInfluence(const ValueBase::Type &x);
+	ValueNode_BoneInfluence(Type &x);
 
 	ValueNode_BoneInfluence(const ValueNode::Handle &x, etl::loose_handle<Canvas> canvas);
 
-//	static Handle create(const ValueBase::Type &x);
+//	static Handle create(Type &x);
 //	static Handle create(const ValueNode::Handle &x);
 
 
@@ -72,7 +72,7 @@ protected:
 
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	virtual Vocab get_children_vocab_vfunc()const;
 	static ValueNode_BoneInfluence* create(const ValueBase &x, etl::loose_handle<Canvas>);
 
diff --git a/src/synfig/valuenode_bonelink.cpp b/src/synfig/valuenode_bonelink.cpp
new file mode 100644
index 0000000..290aac8
--- /dev/null
+++ b/src/synfig/valuenode_bonelink.cpp
@@ -0,0 +1,243 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_bonelink.cpp
+**	\brief Implementation of the "BoneLink" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_bonelink.h"
+#include "valuenode_const.h"
+#include "valuenode_bone.h"
+#include "general.h"
+#include "valueoperations.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_BoneLink::ValueNode_BoneLink(const ValueBase &x):
+	LinkableValueNode(x.get_type())
+{
+	Vocab ret(get_children_vocab());
+	set_children_vocab(ret);
+
+	set_link("bone",			ValueNode_Const::create(ValueNode_Bone::get_root_bone()));
+	set_link("base_value",		ValueNode_Const::create(x));
+	set_link("translate",		ValueNode_Const::create(true));
+	set_link("rotate",  		ValueNode_Const::create(true));
+	set_link("skew", 	 		ValueNode_Const::create(true));
+	set_link("scale_x", 		ValueNode_Const::create(true));
+	set_link("scale_y", 		ValueNode_Const::create(true));
+}
+
+ValueNode_BoneLink*
+ValueNode_BoneLink::create(const ValueBase &x)
+{
+	return new ValueNode_BoneLink(x);
+}
+
+LinkableValueNode*
+ValueNode_BoneLink::create_new()const
+{
+	return new ValueNode_BoneLink(get_type());
+}
+
+ValueNode_BoneLink::~ValueNode_BoneLink()
+{
+	unlink_all();
+}
+
+bool
+ValueNode_BoneLink::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(bone_,      type_bone_valuenode);
+	case 1:
+		if (get_type() == type_nil)
+		{
+			VALUENODE_SET_VALUE(base_value_);
+		}
+		else
+		{
+			CHECK_TYPE_AND_SET_VALUE(base_value_, get_type());
+		}
+	case 2: CHECK_TYPE_AND_SET_VALUE(translate_, type_bool);
+	case 3: CHECK_TYPE_AND_SET_VALUE(rotate_,    type_bool);
+	case 4: CHECK_TYPE_AND_SET_VALUE(skew_,      type_bool);
+	case 5: CHECK_TYPE_AND_SET_VALUE(scale_x_,   type_bool);
+	case 6: CHECK_TYPE_AND_SET_VALUE(scale_y_,   type_bool);
+	}
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_BoneLink::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+	switch(i)
+	{
+	case 0: return bone_;
+	case 1: return base_value_;
+	case 2: return translate_;
+	case 3: return rotate_;
+	case 4: return skew_;
+	case 5: return scale_x_;
+	case 6: return scale_y_;
+	}
+	return 0;
+}
+
+void
+ValueNode_BoneLink::set_root_canvas(etl::loose_handle<Canvas> x)
+{
+	LinkableValueNode::set_root_canvas(x);
+	bone_->set_root_canvas(x);
+	base_value_->set_root_canvas(x);
+	translate_->set_root_canvas(x);
+	rotate_->set_root_canvas(x);
+	skew_->set_root_canvas(x);
+	scale_x_->set_root_canvas(x);
+	scale_y_->set_root_canvas(x);
+}
+
+Transformation
+ValueNode_BoneLink::get_bone_transformation(Time t)const
+{
+	Transformation transformation;
+	ValueNode_Bone::Handle bone_node = (*bone_)(t).get(ValueNode_Bone::Handle());
+	if (bone_node)
+	{
+		Bone bone      = (*bone_node) (t).get(Bone());
+		bool translate = (*translate_)(t).get(true);
+		bool rotate    = (*rotate_)   (t).get(true);
+		bool skew      = (*rotate_)   (t).get(true);
+		bool scale_x   = (*scale_x_)  (t).get(true);
+		bool scale_y   = (*scale_y_)  (t).get(true);
+
+		transformation.set_matrix(
+			    Matrix().set_scale(bone.get_local_scale())
+			  * bone.get_animated_matrix()
+		);
+
+		if (!translate) transformation.offset = Vector(0.0, 0.0);
+		if (!rotate) transformation.angle = Angle::zero();
+		if (!skew) transformation.skew_angle = Angle::zero();
+		if (!scale_x) transformation.scale[0] = 1.0;
+		if (!scale_y) transformation.scale[1] = 1.0;
+	}
+
+	return transformation;
+}
+
+ValueBase
+ValueNode_BoneLink::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+	return ValueTransformation::transform(
+		get_bone_transformation(t), (*base_value_)(t) );
+}
+
+String
+ValueNode_BoneLink::get_name()const
+{
+	return "bone_link";
+}
+
+String
+ValueNode_BoneLink::get_local_name()const
+{
+	return _("Bone Link");
+}
+
+bool
+ValueNode_BoneLink::check_type(Type &type)
+{
+	return ValueTransformation::check_type(type);
+}
+
+LinkableValueNode::Vocab
+ValueNode_BoneLink::get_children_vocab_vfunc()const
+{
+	if(children_vocab.size())
+		return children_vocab;
+
+	LinkableValueNode::Vocab ret;
+
+	ret.push_back(ParamDesc(ValueBase(),"bone")
+		.set_local_name(_("Bone"))
+		.set_description(_("The linked bone"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"base_value")
+		.set_local_name(_("Base value"))
+		.set_description(_("Base value"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"translate")
+		.set_local_name(_("Translate"))
+		.set_description(_("Make translation"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"rotate")
+		.set_local_name(_("Rotate"))
+		.set_description(_("Make rotation"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"skew")
+		.set_local_name(_("Skew"))
+		.set_description(_("Make skew"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"scale_x")
+		.set_local_name(_("Scale X"))
+		.set_description(_("Make scaling by X-axis"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"scale_y")
+		.set_local_name(_("Scale Y"))
+		.set_description(_("Make scaling by Y-axis"))
+	);
+
+	return ret;
+}
diff --git a/src/synfig/valuenode_pow.h b/src/synfig/valuenode_bonelink.h
similarity index 65%
copy from src/synfig/valuenode_pow.h
copy to src/synfig/valuenode_bonelink.h
index 90f96b6..47ae3d1 100644
--- a/src/synfig/valuenode_pow.h
+++ b/src/synfig/valuenode_bonelink.h
@@ -1,14 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_pow.h
-**	\brief Header file for implementation of the "Power" valuenode conversion.
+/*!	\file valuenode_bonelink.h
+**	\brief Header file for implementation of the "BoneLink" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2007 Chris Moore
-**	Copyright (c) 2009 Nikita Kitaev
-**  Copyright (c) 2011 Carlos López
+**	......... ... 2013 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -25,8 +22,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_POW_H
-#define __SYNFIG_VALUENODE_POW_H
+#ifndef __SYNFIG_VALUENODE_BONELINK_H
+#define __SYNFIG_VALUENODE_BONELINK_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -38,22 +35,26 @@
 
 namespace synfig {
 
-class ValueNode_Pow : public LinkableValueNode
+class ValueNode_BoneLink : public LinkableValueNode
 {
-	ValueNode::RHandle base_;
-	ValueNode::RHandle power_;
-	ValueNode::RHandle epsilon_;
-	ValueNode::RHandle infinite_;
+	ValueNode::RHandle bone_;
+	ValueNode::RHandle base_value_;
+	ValueNode::RHandle translate_;
+	ValueNode::RHandle rotate_;
+	ValueNode::RHandle skew_;
+	ValueNode::RHandle scale_x_;
+	ValueNode::RHandle scale_y_;
 
 public:
-	typedef etl::handle<ValueNode_Pow> Handle;
-	typedef etl::handle<const ValueNode_Pow> ConstHandle;
+	typedef etl::handle<ValueNode_BoneLink> Handle;
+	typedef etl::handle<const ValueNode_BoneLink> ConstHandle;
 
-	ValueNode_Pow(const ValueBase &x);
+	ValueNode_BoneLink(const ValueBase &x);
 
+	Transformation get_bone_transformation(Time t)const;
 	virtual ValueBase operator()(Time t)const;
 
-	virtual ~ValueNode_Pow();
+	virtual ~ValueNode_BoneLink();
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
@@ -68,9 +69,10 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_Pow* create(const ValueBase &x);
+	static bool check_type(Type &type);
+	static ValueNode_BoneLink* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
+	virtual void set_root_canvas(etl::loose_handle<Canvas> canvas);
 }; // END of class ValueNode_Pow
 
 }; // END of namespace synfig
diff --git a/src/synfig/valuenode_boneweightpair.cpp b/src/synfig/valuenode_boneweightpair.cpp
index c09f307..a2e7902 100644
--- a/src/synfig/valuenode_boneweightpair.cpp
+++ b/src/synfig/valuenode_boneweightpair.cpp
@@ -57,9 +57,7 @@ using namespace synfig;
 ValueNode_BoneWeightPair::ValueNode_BoneWeightPair(const ValueBase &value, Canvas::LooseHandle canvas):
 	LinkableValueNode(value.get_type())
 {
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_BONE_WEIGHT_PAIR:
+	if (value.get_type() == type_bone_weight_pair)
 	{
 		BoneWeightPair bone_weight_pair(value.get(BoneWeightPair()));
 		ValueBase bone(bone_weight_pair.get_bone());
@@ -73,11 +71,10 @@ ValueNode_BoneWeightPair::ValueNode_BoneWeightPair(const ValueBase &value, Canva
 		set_parent_canvas(canvas);
 
 		ValueNode_Bone::show_bone_map(canvas, __FILE__, __LINE__, "after making new boneweightpair");
-
-		break;
 	}
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -123,9 +120,9 @@ ValueNode_BoneWeightPair::get_local_name()const
 }
 
 bool
-ValueNode_BoneWeightPair::check_type(ValueBase::Type type)
+ValueNode_BoneWeightPair::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BONE_WEIGHT_PAIR;
+	return type==type_bone_weight_pair;
 }
 
 bool
@@ -135,8 +132,8 @@ ValueNode_BoneWeightPair::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(bone_, ValueBase::TYPE_VALUENODE_BONE);
-	case 1: CHECK_TYPE_AND_SET_VALUE(weight_,   ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(bone_,   type_bone_valuenode);
+	case 1: CHECK_TYPE_AND_SET_VALUE(weight_, type_real);
 	}
 	return false;
 }
diff --git a/src/synfig/valuenode_boneweightpair.h b/src/synfig/valuenode_boneweightpair.h
index 048957a..2ee900f 100644
--- a/src/synfig/valuenode_boneweightpair.h
+++ b/src/synfig/valuenode_boneweightpair.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_BoneWeightPair* create(const ValueBase &x, etl::loose_handle<Canvas>);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_BoneWeightPair
diff --git a/src/synfig/valuenode_compare.cpp b/src/synfig/valuenode_compare.cpp
index 9bc865b..34befbc 100644
--- a/src/synfig/valuenode_compare.cpp
+++ b/src/synfig/valuenode_compare.cpp
@@ -93,11 +93,11 @@ ValueNode_Compare::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(lhs_,      ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(rhs_,      ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(greater_,  ValueBase::TYPE_BOOL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(equal_,    ValueBase::TYPE_BOOL);
-	case 4: CHECK_TYPE_AND_SET_VALUE(less_,     ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(lhs_,      type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(rhs_,      type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(greater_,  type_bool);
+	case 3: CHECK_TYPE_AND_SET_VALUE(equal_,    type_bool);
+	case 4: CHECK_TYPE_AND_SET_VALUE(less_,     type_bool);
 	}
 	return false;
 }
@@ -150,9 +150,9 @@ ValueNode_Compare::get_local_name()const
 }
 
 bool
-ValueNode_Compare::check_type(ValueBase::Type type)
+ValueNode_Compare::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BOOL;
+	return type==type_bool;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_compare.h b/src/synfig/valuenode_compare.h
index 2314500..aeccfda 100644
--- a/src/synfig/valuenode_compare.h
+++ b/src/synfig/valuenode_compare.h
@@ -70,7 +70,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Compare* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Compare
diff --git a/src/synfig/valuenode_composite.cpp b/src/synfig/valuenode_composite.cpp
index fe5a102..2ed258a 100644
--- a/src/synfig/valuenode_composite.cpp
+++ b/src/synfig/valuenode_composite.cpp
@@ -41,6 +41,9 @@
 #include "color.h"
 #include "segment.h"
 #include "savecanvas.h"
+#include "transformation.h"
+#include "weightedvalue.h"
+#include "pair.h"
 
 #endif
 
@@ -63,69 +66,101 @@ synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value, Canvas:
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(get_type())
-	{
-		case ValueBase::TYPE_VECTOR:
-			set_link("x",ValueNode_Const::create(value.get(Vector())[0]));
-			set_link("y",ValueNode_Const::create(value.get(Vector())[1]));
-			break;
-		case ValueBase::TYPE_COLOR:
-			set_link("r",ValueNode_Const::create(value.get(Color()).get_r()));
-			set_link("g",ValueNode_Const::create(value.get(Color()).get_g()));
-			set_link("b",ValueNode_Const::create(value.get(Color()).get_b()));
-			set_link("a",ValueNode_Const::create(value.get(Color()).get_a()));
-			break;
-		case ValueBase::TYPE_SEGMENT:
-			set_link("p1",ValueNode_Const::create(value.get(Segment()).p1));
-			set_link("t1",ValueNode_Const::create(value.get(Segment()).t1));
-			set_link("p2",ValueNode_Const::create(value.get(Segment()).p2));
-			set_link("t2",ValueNode_Const::create(value.get(Segment()).t2));
-			break;
-		case ValueBase::TYPE_BLINEPOINT:
-		{
-			BLinePoint bline_point(value);
-			set_link("point",ValueNode_Const::create(bline_point.get_vertex()));
-			set_link("width",ValueNode_Const::create(bline_point.get_width()));
-			set_link("origin",ValueNode_Const::create(bline_point.get_origin()));
-			set_link("split",ValueNode_Const::create(bline_point.get_split_tangent_flag()));
-			set_link("t1",ValueNode_RadialComposite::create(bline_point.get_tangent1()));
-			set_link("t2",ValueNode_RadialComposite::create(bline_point.get_tangent2()));
-			break;
-		}
-		case ValueBase::TYPE_WIDTHPOINT:
+	Type &type(get_type());
+	if (type == type_vector)
+	{
+		set_link("x",ValueNode_Const::create(value.get(Vector())[0]));
+		set_link("y",ValueNode_Const::create(value.get(Vector())[1]));
+	}
+	else
+	if (type == type_color)
+	{
+		set_link("r",ValueNode_Const::create(value.get(Color()).get_r()));
+		set_link("g",ValueNode_Const::create(value.get(Color()).get_g()));
+		set_link("b",ValueNode_Const::create(value.get(Color()).get_b()));
+		set_link("a",ValueNode_Const::create(value.get(Color()).get_a()));
+	}
+	else
+	if (type == type_segment)
+	{
+		set_link("p1",ValueNode_Const::create(value.get(Segment()).p1));
+		set_link("t1",ValueNode_Const::create(value.get(Segment()).t1));
+		set_link("p2",ValueNode_Const::create(value.get(Segment()).p2));
+		set_link("t2",ValueNode_Const::create(value.get(Segment()).t2));
+	}
+	else
+	if (type == type_bline_point)
+	{
+		BLinePoint bline_point(value.get(BLinePoint()));
+		set_link("point",ValueNode_Const::create(bline_point.get_vertex()));
+		set_link("width",ValueNode_Const::create(bline_point.get_width()));
+		set_link("origin",ValueNode_Const::create(bline_point.get_origin()));
+		set_link("split",ValueNode_Const::create(bline_point.get_split_tangent_both()));
+		set_link("split_radius",ValueNode_Const::create(bline_point.get_split_tangent_radius()));
+		set_link("split_angle",ValueNode_Const::create(bline_point.get_split_tangent_angle()));
+		set_link("t1",ValueNode_RadialComposite::create(bline_point.get_tangent1()));
+		set_link("t2",ValueNode_RadialComposite::create(bline_point.get_tangent2()));
+	}
+	else
+	if (type == type_width_point)
+	{
+		WidthPoint wpoint(value.get(WidthPoint()));
+		set_link("position",ValueNode_Const::create(wpoint.get_position()));
+		set_link("width",ValueNode_Const::create(wpoint.get_width()));
+		set_link("side_before",ValueNode_Const::create(wpoint.get_side_type_before()));
+		set_link("side_after",ValueNode_Const::create(wpoint.get_side_type_after()));
+		ValueNode_Const::Handle value_node;
+		value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_lower_bound()));
+		if(value_node)
 		{
-			WidthPoint wpoint(value);
-			set_link("position",ValueNode_Const::create(wpoint.get_position()));
-			set_link("width",ValueNode_Const::create(wpoint.get_width()));
-			set_link("side_before",ValueNode_Const::create(wpoint.get_side_type_before()));
-			set_link("side_after",ValueNode_Const::create(wpoint.get_side_type_after()));
-			ValueNode_Const::Handle value_node;
-			value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_lower_bound()));
-			if(value_node) 
-			{
-				value_node->set_static(true);
-				set_link("lower_bound",value_node);
-			}
-			value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_upper_bound()));
-			if(value_node)
-			{
-				value_node->set_static(true);
-				set_link("upper_bound",value_node);
-			}
-			break;
+			value_node->set_static(true);
+			set_link("lower_bound",value_node);
 		}
-		case ValueBase::TYPE_DASHITEM:
+		value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_upper_bound()));
+		if(value_node)
 		{
-			DashItem ditem(value);
-			set_link("offset",ValueNode_Const::create(ditem.get_offset()));
-			set_link("length",ValueNode_Const::create(ditem.get_length()));
-			set_link("side_before",ValueNode_Const::create(ditem.get_side_type_before()));
-			set_link("side_after",ValueNode_Const::create(ditem.get_side_type_after()));
-			break;
+			value_node->set_static(true);
+			set_link("upper_bound",value_node);
 		}
-		default:
-			assert(0);
-			throw Exception::BadType(ValueBase::type_local_name(get_type()));
+	}
+	else
+	if (type == type_dash_item)
+	{
+		DashItem ditem(value.get(DashItem()));
+		set_link("offset",ValueNode_Const::create(ditem.get_offset()));
+		set_link("length",ValueNode_Const::create(ditem.get_length()));
+		set_link("side_before",ValueNode_Const::create(ditem.get_side_type_before()));
+		set_link("side_after",ValueNode_Const::create(ditem.get_side_type_after()));
+	}
+	else
+	if (type == type_transformation)
+	{
+		Transformation transformation(value.get(Transformation()));
+		set_link("offset",ValueNode_Const::create(transformation.offset));
+		set_link("angle",ValueNode_Const::create(transformation.angle));
+		set_link("skew_angle",ValueNode_Const::create(transformation.skew_angle));
+		set_link("scale",ValueNode_Const::create(transformation.scale));
+	}
+	else
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		types_namespace::TypeWeightedValueBase *t =
+			dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type);
+		set_link("weight",ValueNode_Const::create(t->extract_weight(value)));
+		set_link("value",ValueNode_Const::create(t->extract_value(value)));
+	}
+	else
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		types_namespace::TypePairBase *t =
+			dynamic_cast<types_namespace::TypePairBase*>(&type);
+		set_link("first",ValueNode_Const::create(t->extract_first(value)));
+		set_link("second",ValueNode_Const::create(t->extract_second(value)));
+	}
+	else
+	{
+		assert(0);
+		throw Exception::BadType(get_type().description.local_name);
 	}
 
 	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
@@ -156,80 +191,111 @@ synfig::ValueNode_Composite::operator()(Time t)const
 	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
 		printf("%s:%d operator()\n", __FILE__, __LINE__);
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_vector)
 	{
-		case ValueBase::TYPE_VECTOR:
-		{
-			Vector vect;
-			assert(components[0] && components[1]);
-			vect[0]=(*components[0])(t).get(Vector::value_type());
-			vect[1]=(*components[1])(t).get(Vector::value_type());
-			return vect;
-		}
-		case ValueBase::TYPE_COLOR:
-		{
-			Color color;
-			assert(components[0] && components[1] && components[2] && components[3]);
-			color.set_r((*components[0])(t).get(Vector::value_type()));
-			color.set_g((*components[1])(t).get(Vector::value_type()));
-			color.set_b((*components[2])(t).get(Vector::value_type()));
-			color.set_a((*components[3])(t).get(Vector::value_type()));
-			return color;
-		}
-		case ValueBase::TYPE_SEGMENT:
-		{
-			Segment seg;
-			assert(components[0] && components[1] && components[2] && components[3]);
-			seg.p1=(*components[0])(t).get(Point());
-			seg.t1=(*components[1])(t).get(Vector());
-			seg.p2=(*components[2])(t).get(Point());
-			seg.t2=(*components[3])(t).get(Vector());
-			return seg;
-		}
-		case ValueBase::TYPE_BLINEPOINT:
-		{
-			BLinePoint ret;
-			assert(components[0] && components[1] && components[2] && components[3] && components[4] && components[5]);
-			ret.set_vertex((*components[0])(t).get(Point()));
-			ret.set_width((*components[1])(t).get(Real()));
-			ret.set_origin((*components[2])(t).get(Real()));
-			ret.set_split_tangent_flag((*components[3])(t).get(bool()));
-			ret.set_tangent1((*components[4])(t).get(Vector()));
-			if(ret.get_split_tangent_flag())
-				ret.set_tangent2((*components[5])(t).get(Vector()));
-			return ret;
-		}
-		case ValueBase::TYPE_WIDTHPOINT:
-		{
-			WidthPoint ret;
-			assert(components[0] && components[1] && components[2] && components[3] && components[4] && components[5]);
-			ret.set_position((*components[0])(t).get(Real()));
-			ret.set_width((*components[1])(t).get(Real()));
-			ret.set_side_type_before((*components[2])(t).get(int()));
-			ret.set_side_type_after((*components[3])(t).get(int()));
-			ret.set_lower_bound((*components[4])(t).get(Real()));
-			ret.set_upper_bound((*components[5])(t).get(Real()));
-			return ret;
-		}
-		case ValueBase::TYPE_DASHITEM:
-		{
-			DashItem ret;
-			assert(components[0] && components[1] && components[2] && components[3]);
-			Real offset((*components[0])(t).get(Real()));
-			if(offset < 0.0) offset=0.0;
-			Real length((*components[1])(t).get(Real()));
-			if(length < 0.0) length=0.0;
-			ret.set_offset(offset);
-			ret.set_length(length);
-			ret.set_side_type_before((*components[2])(t).get(int()));
-			ret.set_side_type_after((*components[3])(t).get(int()));
-			return ret;
-		}
-		default:
-			synfig::error(string("ValueNode_Composite::operator():")+_("Bad type for composite"));
-			assert(components[0]);
-			return (*components[0])(t);
+		Vector vect;
+		assert(components[0] && components[1]);
+		vect[0]=(*components[0])(t).get(Vector::value_type());
+		vect[1]=(*components[1])(t).get(Vector::value_type());
+		return vect;
+	}
+	else
+	if (type == type_color)
+	{
+		Color color;
+		assert(components[0] && components[1] && components[2] && components[3]);
+		color.set_r((*components[0])(t).get(Vector::value_type()));
+		color.set_g((*components[1])(t).get(Vector::value_type()));
+		color.set_b((*components[2])(t).get(Vector::value_type()));
+		color.set_a((*components[3])(t).get(Vector::value_type()));
+		return color;
+	}
+	else
+	if (type == type_segment)
+	{
+		Segment seg;
+		assert(components[0] && components[1] && components[2] && components[3]);
+		seg.p1=(*components[0])(t).get(Point());
+		seg.t1=(*components[1])(t).get(Vector());
+		seg.p2=(*components[2])(t).get(Point());
+		seg.t2=(*components[3])(t).get(Vector());
+		return seg;
+	}
+	else
+	if (type == type_bline_point)
+	{
+		BLinePoint ret;
+		assert(components[0] && components[1] && components[2] && components[3] && components[4] && components[5] && components[6] && components[7]);
+		ret.set_vertex((*components[0])(t).get(Point()));
+		ret.set_width((*components[1])(t).get(Real()));
+		ret.set_origin((*components[2])(t).get(Real()));
+		ret.set_split_tangent_both((*components[3])(t).get(bool()));
+		ret.set_split_tangent_radius((*components[6])(t).get(bool()));
+		ret.set_split_tangent_angle((*components[7])(t).get(bool()));
+		ret.set_tangent1((*components[4])(t).get(Vector()));
+		ret.set_tangent2((*components[5])(t).get(Vector()));
+		return ret;
+	}
+	else
+	if (type == type_width_point)
+	{
+		WidthPoint ret;
+		assert(components[0] && components[1] && components[2] && components[3] && components[4] && components[5]);
+		ret.set_position((*components[0])(t).get(Real()));
+		ret.set_width((*components[1])(t).get(Real()));
+		ret.set_side_type_before((*components[2])(t).get(int()));
+		ret.set_side_type_after((*components[3])(t).get(int()));
+		ret.set_lower_bound((*components[4])(t).get(Real()));
+		ret.set_upper_bound((*components[5])(t).get(Real()));
+		return ret;
 	}
+	else
+	if (type == type_dash_item)
+	{
+		DashItem ret;
+		assert(components[0] && components[1] && components[2] && components[3]);
+		Real offset((*components[0])(t).get(Real()));
+		if(offset < 0.0) offset=0.0;
+		Real length((*components[1])(t).get(Real()));
+		if(length < 0.0) length=0.0;
+		ret.set_offset(offset);
+		ret.set_length(length);
+		ret.set_side_type_before((*components[2])(t).get(int()));
+		ret.set_side_type_after((*components[3])(t).get(int()));
+		return ret;
+	}
+	else
+	if (type == type_transformation)
+	{
+		Transformation ret;
+		assert(components[0] && components[1] && components[2] && components[3]);
+		ret.offset    = (*components[0])(t).get(Vector());
+		ret.angle     = (*components[1])(t).get(Angle());
+		ret.skew_angle = (*components[2])(t).get(Angle());
+		ret.scale     = (*components[3])(t).get(Vector());
+		return ret;
+	}
+	else
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		types_namespace::TypeWeightedValueBase *tp =
+			dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type);
+		assert(components[0] && components[1]);
+		return tp->create_weighted_value((*components[0])(t).get(Real()), (*components[1])(t));
+	}
+	else
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		types_namespace::TypePairBase *tp =
+			dynamic_cast<types_namespace::TypePairBase*>(&type);
+		assert(components[0] && components[1]);
+		return tp->create_value((*components[0])(t), (*components[1])(t));
+	}
+
+	synfig::error(string("ValueNode_Composite::operator():")+_("Bad type for composite"));
+	assert(components[0]);
+	return (*components[0])(t);
 }
 
 bool
@@ -243,94 +309,136 @@ ValueNode_Composite::set_link_vfunc(int i,ValueNode::Handle x)
 		return true;
 	}
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_vector)
 	{
-		case ValueBase::TYPE_VECTOR:
-			if(x->get_type()==ValueBase(Real()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
-			{
-				components[i]=x;
-				return true;
-			}
-			break;
-
-		case ValueBase::TYPE_COLOR:
-			if(x->get_type()==ValueBase(Real()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
-			{
-				components[i]=x;
-				return true;
-			}
-			break;
-
-		case ValueBase::TYPE_SEGMENT:
-			if(x->get_type()==ValueBase(Point()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
-			{
-				components[i]=x;
-				return true;
-			}
-			break;
-
-		case ValueBase::TYPE_BLINEPOINT:
-			if((i==0 || i==4 || i==5) && x->get_type()==ValueBase(Point()).get_type())
-			{
-				components[i]=x;
-				return true;
-			}
-			if((i==1 || i==2) && x->get_type()==ValueBase(Real()).get_type())
-			{
-				components[i]=x;
-				return true;
-			}
-			if(i==3 && x->get_type()==ValueBase(bool()).get_type())
-			{
-				components[i]=x;
-				return true;
-			}
-			break;
-		case ValueBase::TYPE_DASHITEM:
-		case ValueBase::TYPE_WIDTHPOINT:
-			if((i==0 || i==1) && x->get_type()==ValueBase(Real()).get_type())
-			{
-				components[i]=x;
-				return true;
-			}
-			if((i==2 || i==3) && x->get_type()==ValueBase(int()).get_type())
-			{
-				components[i]=x;
-				return true;
-			}
-			if((i==4 || i==5) && x->get_type()==ValueBase(Real()).get_type())
+		if(x->get_type()==ValueBase(Real()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
+		{
+			components[i]=x;
+			return true;
+		}
+	}
+	else
+	if (type == type_color)
+	{
+		if(x->get_type()==ValueBase(Real()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
+		{
+			components[i]=x;
+			return true;
+		}
+	}
+	else
+	if (type == type_segment)
+	{
+		if(x->get_type()==ValueBase(Point()).get_type() || PlaceholderValueNode::Handle::cast_dynamic(x))
+		{
+			components[i]=x;
+			return true;
+		}
+	}
+	else
+	if (type == type_bline_point)
+	{
+		if((i==0 || i==4 || i==5) && x->get_type()==ValueBase(Point()).get_type())
+		{
+			components[i]=x;
+			return true;
+		}
+		if((i==1 || i==2) && x->get_type()==ValueBase(Real()).get_type())
+		{
+			components[i]=x;
+			return true;
+		}
+		if((i==3 || i==6 || i==7) && x->get_type()==ValueBase(bool()).get_type())
+		{
+			components[i]=x;
+			return true;
+		}
+	}
+	else
+	if (type == type_dash_item
+	 || type == type_width_point)
+	{
+		if((i==0 || i==1) && x->get_type()==ValueBase(Real()).get_type())
+		{
+			components[i]=x;
+			return true;
+		}
+		if((i==2 || i==3) && x->get_type()==ValueBase(int()).get_type())
+		{
+			components[i]=x;
+			return true;
+		}
+		if((i==4 || i==5) && x->get_type()==ValueBase(Real()).get_type())
+		{
+			if(ValueNode_Const::Handle::cast_dynamic(x))
 			{
-				if(ValueNode_Const::Handle::cast_dynamic(x))
+				if(i==4 && components[5])
 				{
-					if(i==4 && components[5])
+					if(i==4 && (*x)(0).get(Real()) < (*components[5])(0).get(Real()))
 					{
-						if(i==4 && (*x)(0).get(Real()) < (*components[5])(0).get(Real()))
-						{
-							components[i]=x;
-							return true;
-						}
-						else
-							return false;
+						components[i]=x;
+						return true;
 					}
-					if(i==5 && components[4])
+					else
+						return false;
+				}
+				if(i==5 && components[4])
+				{
+					if((i==5 && (*x)(0).get(Real()) > (*components[4])(0).get(Real())))
 					{
-						if((i==5 && (*x)(0).get(Real()) > (*components[4])(0).get(Real())))
-						{
-							components[i]=x;
-							return true;
-						}
-						else
-							return false;
+						components[i]=x;
+						return true;
 					}
-					components[i]=x;
-					return true;
+					else
+						return false;
 				}
-				return false;
+				components[i]=x;
+				return true;
 			}
-			break;
-		default:
-			break;
+			return false;
+		}
+	}
+	else
+	if (type == type_transformation)
+	{
+		if( PlaceholderValueNode::Handle::cast_dynamic(x)
+		 || (i == 0 && x->get_type()==ValueBase(Vector()).get_type())
+		 || (i == 1 && x->get_type()==ValueBase(Angle()).get_type())
+		 || (i == 2 && x->get_type()==ValueBase(Angle()).get_type())
+		 || (i == 3 && x->get_type()==ValueBase(Vector()).get_type())
+		) {
+			components[i]=x;
+			return true;
+		}
+	}
+	else
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		types_namespace::TypeWeightedValueBase *tp =
+			dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type);
+		if( PlaceholderValueNode::Handle::cast_dynamic(x)
+		 || (i == 0 && x->get_type()==ValueBase(Real()).get_type())
+		 || (i == 1 && x->get_type()==tp->get_contained_type())
+		) {
+			components[i]=x;
+			return true;
+		}
 	}
+	else
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		types_namespace::TypePairBase *tp =
+			dynamic_cast<types_namespace::TypePairBase*>(&type);
+		if( PlaceholderValueNode::Handle::cast_dynamic(x)
+		 || (i == 0 && x->get_type()==tp->get_first_type())
+		 || (i == 1 && x->get_type()==tp->get_second_type())
+		) {
+			components[i]=x;
+			return true;
+		}
+	}
+
 	return false;
 }
 
@@ -366,9 +474,9 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 	if(name[0]=='c' && name.size() == 2 && name[1]-'1' >= 0 && name[1]-'1' < link_count())
 		return name[1]-'1';
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_color)
 	{
-	case ValueBase::TYPE_COLOR:
 		if(name[0]=='r')
 			return 0;
 		if(name[0]=='g')
@@ -377,7 +485,10 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 			return 2;
 		if(name[0]=='a')
 			return 3;
-	case ValueBase::TYPE_SEGMENT:
+	}
+	else
+	if (type == type_segment)
+	{
 		if(name=="p1")
 			return 0;
 		if(name=="t1")
@@ -386,14 +497,20 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 			return 2;
 		if(name=="t2")
 			return 3;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		if(name[0]=='x')
 			return 0;
 		if(name[0]=='y')
 			return 1;
 		if(name[0]=='z')		// \todo "z"?  really?
 			return 2;
-	case ValueBase::TYPE_BLINEPOINT:
+	}
+	else
+	if (type == type_bline_point)
+	{
 		if(name[0]=='p' || name=="v1" || name=="p1")
 			return 0;
 		if(name=="w" || name=="width")
@@ -406,7 +523,14 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 			return 4;
 		if(name=="t2")
 			return 5;
-	case ValueBase::TYPE_WIDTHPOINT:
+		if(name=="split_radius")
+			return 6;
+		if(name=="split_angle")
+			return 7;
+	}
+	else
+	if (type == type_width_point)
+	{
 		if(name=="position")
 			return 0;
 		if(name=="width")
@@ -419,7 +543,10 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 			return 4;
 		if(name=="upper_bound")
 			return 5;
-	case ValueBase::TYPE_DASHITEM:
+	}
+	else
+	if (type == type_dash_item)
+	{
 		if(name=="offset")
 			return 0;
 		if(name=="length")
@@ -428,8 +555,34 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const
 			return 2;
 		if(name=="side_after")
 			return 3;
-	default:
-		break;
+	}
+	else
+	if (type == type_transformation)
+	{
+		if(name=="offset")
+			return 0;
+		if(name=="angle")
+			return 1;
+		if(name=="skew_angle")
+			return 2;
+		if(name=="scale")
+			return 3;
+	}
+	else
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		if(name=="weight")
+			return 0;
+		if(name=="value")
+			return 1;
+	}
+	else
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		if(name=="first")
+			return 0;
+		if(name=="second")
+			return 1;
 	}
 
 	throw Exception::BadLinkName(name);
@@ -448,15 +601,17 @@ ValueNode_Composite::get_local_name()const
 }
 
 bool
-ValueNode_Composite::check_type(ValueBase::Type type)
+ValueNode_Composite::check_type(Type &type)
 {
-	return
-		type==ValueBase::TYPE_SEGMENT ||
-		type==ValueBase::TYPE_VECTOR ||
-		type==ValueBase::TYPE_COLOR ||
-		type==ValueBase::TYPE_BLINEPOINT ||
-		type==ValueBase::TYPE_WIDTHPOINT ||
-		type==ValueBase::TYPE_DASHITEM;
+	return type==type_segment
+		|| type==type_vector
+		|| type==type_color
+		|| type==type_bline_point
+		|| type==type_width_point
+		|| type==type_dash_item
+		|| type==type_transformation
+		|| dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL
+		|| dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL;
 }
 
 LinkableValueNode::Vocab
@@ -467,9 +622,9 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 
 	LinkableValueNode::Vocab ret;
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_color)
 	{
-	case ValueBase::TYPE_COLOR:
 		ret.push_back(ParamDesc(ValueBase(),"red")
 			.set_local_name(_("Red"))
 			.set_description(_("The red component of the color"))
@@ -487,7 +642,10 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.set_description(_("The alpha of the color"))
 		);
 		return ret;
-	case ValueBase::TYPE_SEGMENT:
+	}
+	else
+	if (type == type_segment)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"p1")
 			.set_local_name(_("Vertex 1"))
 			.set_description(_("The first vertex of the segment"))
@@ -505,7 +663,10 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.set_description(_("The second tangent of the segment"))
 		);
 		return ret;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"x")
 			.set_local_name(_("X-Axis"))
 			.set_description(_("The X-Axis component of the vector"))
@@ -515,7 +676,10 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.set_description(_("The Y-Axis component of the vector"))
 		);
 		return ret;
-	case ValueBase::TYPE_BLINEPOINT:
+	}
+	else
+	if (type == type_bline_point)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"point")
 			.set_local_name(_("Vertex"))
 			.set_description(_("The vertex of the Spline Point"))
@@ -531,6 +695,7 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 		ret.push_back(ParamDesc(ValueBase(),"split")
 			.set_local_name(_("Split"))
 			.set_description(_("When checked, tangents are independent"))
+			.hidden()
 		);
 		ret.push_back(ParamDesc(ValueBase(),"t1")
 			.set_local_name(_("Tangent 1"))
@@ -540,8 +705,19 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.set_local_name(_("Tangent 2"))
 			.set_description(_("The second tangent of the Spline Point"))
 		);
+		ret.push_back(ParamDesc(ValueBase(),"split_radius")
+			.set_local_name(_("Radius Split"))
+			.set_description(_("When checked, tangent's radii are independent"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"split_angle")
+			.set_local_name(_("Angle Split"))
+			.set_description(_("When checked, tangent's angles are independent"))
+		);
 		return ret;
-	case ValueBase::TYPE_WIDTHPOINT:
+	}
+	else
+	if (type == type_width_point)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"position")
 			.set_local_name(_("Position"))
 			.set_description(_("The [0,1] position of the Width Point over the Spline"))
@@ -579,7 +755,10 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.set_description(_("Defines the position at end of the Spline"))
 		);
 		return ret;
-	case ValueBase::TYPE_DASHITEM:
+	}
+	else
+	if (type == type_dash_item)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"offset")
 			.set_local_name(_("Offset"))
 			.set_description(_("The offset length of the Dash Item over the Spline"))
@@ -609,8 +788,53 @@ ValueNode_Composite::get_children_vocab_vfunc()const
 			.add_enum_value(WidthPoint::TYPE_FLAT,"flat", _("Flat Stop"))
 		);
 		return ret;
-	default:
-		break;
+	}
+	else
+	if (type == type_transformation)
+	{
+		ret.push_back(ParamDesc(ValueBase(),"offset")
+			.set_local_name(_("Offset"))
+			.set_description(_("The Offset component of the transformation"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"angle")
+			.set_local_name(_("Angle"))
+			.set_description(_("The Angle component of the transformation"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"skew_angle")
+			.set_local_name(_("Skew Angle"))
+			.set_description(_("The Skew Angle component of the transformation"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"scale")
+			.set_local_name(_("Scale"))
+			.set_description(_("The Scale component of the transformation"))
+		);
+		return ret;
+	}
+	else
+	if (dynamic_cast<types_namespace::TypeWeightedValueBase*>(&type) != NULL)
+	{
+		ret.push_back(ParamDesc(ValueBase(),"weight")
+			.set_local_name(_("Weight"))
+			.set_description(_("The Weight of the value"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"value")
+			.set_local_name(_("Value"))
+			.set_description(_("The Value"))
+		);
+		return ret;
+	}
+	else
+	if (dynamic_cast<types_namespace::TypePairBase*>(&type) != NULL)
+	{
+		ret.push_back(ParamDesc(ValueBase(),"first")
+			.set_local_name(_("First"))
+			.set_description(_("The First Value"))
+		);
+		ret.push_back(ParamDesc(ValueBase(),"second")
+			.set_local_name(_("Second"))
+			.set_description(_("The Second Value"))
+		);
+		return ret;
 	}
 
 	return ret;
diff --git a/src/synfig/valuenode_composite.h b/src/synfig/valuenode_composite.h
index 647199c..1228f7b 100644
--- a/src/synfig/valuenode_composite.h
+++ b/src/synfig/valuenode_composite.h
@@ -32,7 +32,7 @@
 
 /* === M A C R O S ========================================================= */
 
-#define MAX_LINKS 6
+#define MAX_LINKS 8
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
@@ -65,7 +65,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
 	using synfig::LinkableValueNode::get_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Composite* create(const ValueBase &x, etl::loose_handle<Canvas> canvas = 0);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Composite
diff --git a/src/synfig/valuenode_const.cpp b/src/synfig/valuenode_const.cpp
index b5e901f..bec8ab8 100644
--- a/src/synfig/valuenode_const.cpp
+++ b/src/synfig/valuenode_const.cpp
@@ -32,8 +32,10 @@
 #include "valuenode_const.h"
 #include "valuenode_bone.h"
 #include "valuenode_boneweightpair.h"
+#include "valuenode_composite.h"
 #include "canvas.h"
 #include "general.h"
+#include "pair.h"
 
 #endif
 
@@ -63,7 +65,7 @@ ValueNode_Const::ValueNode_Const(const ValueBase &x, Canvas::LooseHandle canvas)
 	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
 		printf("%s:%d set parent canvas for const %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
 
-	if (x.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+	if (x.get_type() == type_bone_valuenode)
 		add_child(x.get(ValueNode_Bone::Handle()).get());
 
 	set_parent_canvas(canvas);
@@ -74,24 +76,31 @@ ValueNode*
 ValueNode_Const::create(const ValueBase &x, Canvas::LooseHandle canvas)
 {
 	// this is nasty - shouldn't it be done somewhere else?
-	if (x.get_type() == ValueBase::TYPE_BONE)
+	if (x.get_type() == type_bone_object)
 	{
 		printf("%s:%d forcing convert to ValueNode_Bone\n", __FILE__, __LINE__);
 		return ValueNode_Bone::create(x, canvas);
 	}
 
 	// this too
-	if (x.get_type() == ValueBase::TYPE_BONE_WEIGHT_PAIR)
+	if (x.get_type() == type_bone_weight_pair)
 	{
 		printf("%s:%d forcing convert to ValueNode_BoneWeightPair\n", __FILE__, __LINE__);
 		return ValueNode_BoneWeightPair::create(x, canvas);
 	}
 
+	// and this
+	if (dynamic_cast<types_namespace::TypePairBase*>(&x.get_type()))
+	{
+		printf("%s:%d forcing convert to ValueNode_Composite\n", __FILE__, __LINE__);
+		return ValueNode_Composite::create(x, canvas);
+	}
+
 	return new ValueNode_Const(x, canvas);
 }
 
 
-ValueNode*
+ValueNode::Handle
 ValueNode_Const::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)const
 {
 	{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
@@ -104,7 +113,7 @@ ValueNode_Const::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)
 
 ValueNode_Const::~ValueNode_Const()
 {
-	if (get_value().get_type() == ValueBase::TYPE_VALUENODE_BONE)
+	if (get_value().get_type() == type_bone_valuenode)
 		remove_child(get_value().get(ValueNode_Bone::Handle()).get());
 }
 
@@ -136,10 +145,10 @@ ValueNode_Const::set_value(const ValueBase &data)
 {
 	if(data!=value)
 	{
-		if (value.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+		if (value.get_type() == type_bone_valuenode)
 			remove_child(value.get(ValueNode_Bone::Handle()).get());
 
-		if (data.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+		if (data.get_type() == type_bone_valuenode)
 			add_child(data.get(ValueNode_Bone::Handle()).get());
 
 		value=data;
diff --git a/src/synfig/valuenode_const.h b/src/synfig/valuenode_const.h
index 95e7032..e7fb05c 100644
--- a/src/synfig/valuenode_const.h
+++ b/src/synfig/valuenode_const.h
@@ -63,7 +63,7 @@ public:
 	virtual String get_name()const;
 	virtual String get_local_name()const;
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 #ifdef _DEBUG
 	String get_string()const;
 #endif	// _DEBUG
diff --git a/src/synfig/valuenode_cos.cpp b/src/synfig/valuenode_cos.cpp
index b5d5ba1..279652d 100644
--- a/src/synfig/valuenode_cos.cpp
+++ b/src/synfig/valuenode_cos.cpp
@@ -56,14 +56,14 @@ ValueNode_Cos::ValueNode_Cos(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_real)
 	{
-	case ValueBase::TYPE_REAL:
 		set_link("angle",ValueNode_Const::create(Angle::deg(0)));
 		set_link("amp",ValueNode_Const::create(value.get(Real())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -110,9 +110,9 @@ ValueNode_Cos::get_local_name()const
 }
 
 bool
-ValueNode_Cos::check_type(ValueBase::Type type)
+ValueNode_Cos::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 bool
@@ -122,8 +122,8 @@ ValueNode_Cos::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, ValueBase::TYPE_ANGLE);
-	case 1: CHECK_TYPE_AND_SET_VALUE(amp_,   ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, type_angle);
+	case 1: CHECK_TYPE_AND_SET_VALUE(amp_,   type_real);
 	}
 
 	return false;
diff --git a/src/synfig/valuenode_cos.h b/src/synfig/valuenode_cos.h
index b212f2b..5a12c73 100644
--- a/src/synfig/valuenode_cos.h
+++ b/src/synfig/valuenode_cos.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Cos* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Cos
diff --git a/src/synfig/valuenode_derivative.cpp b/src/synfig/valuenode_derivative.cpp
new file mode 100644
index 0000000..e17b756
--- /dev/null
+++ b/src/synfig/valuenode_derivative.cpp
@@ -0,0 +1,391 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_derivative.cpp
+**	\brief Implementation of the "Derivative" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2014 Carlos López
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_derivative.h"
+#include "valuenode_const.h"
+#include "general.h"
+#include <ETL/misc>
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+// E= EVALUATE
+#define E(x,t,y) ( (*x)(t).get(y) )
+// D= DERIVATIVE
+// See http://en.wikipedia.org/wiki/Finite_difference_coefficients#Central_finite_difference
+// First Derivatives
+#define D_ROUGH(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-h,y)*(-1.0/2.0)+      \
+				E(x,t+h,y)*( 1.0/2.0)       \
+				)/(h)                       \
+				)
+#define D_NORMAL(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-2*h,y)*( 1.0/12.0)+   \
+				E(x,t-h  ,y)*( -2.0/3.0)+   \
+				E(x,t+h  ,y)*(  2.0/3.0)+   \
+				E(x,t+2*h,y)*(-1.0/12.0)    \
+				)/(h)                       \
+				)
+#define D_FINE(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-3*h,y)*(-1.0/60.0)+   \
+				E(x,t-2*h,y)*( 3.0/20.0)+   \
+				E(x,t-h  ,y)*( -3.0/4.0)+   \
+				E(x,t+h  ,y)*(  3.0/4.0)+   \
+				E(x,t+2*h,y)*(-3.0/20.0)+   \
+				E(x,t+3*h,y)*( 1.0/60.0)    \
+				)/(h)                       \
+				)
+#define D_EXTREME(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-4*h,y)*( 1.0/280.0)+  \
+				E(x,t-3*h,y)*(  -4.0/105)+  \
+				E(x,t-2*h,y)*(   1.0/5.0)+  \
+				E(x,t-h  ,y)*(  -4.0/5.0)+  \
+				E(x,t+h  ,y)*(   4.0/5.0)+  \
+				E(x,t+2*h,y)*(  -1.0/5.0)+  \
+				E(x,t+3*h,y)*( 4.0/105.0)+  \
+				E(x,t+4*h,y)*(-1.0/280.0)   \
+				)/(h)                       \
+				)
+
+// Second Derivatives
+#define DD_ROUGH(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-h,y)*( 1.0)+          \
+				E(x,t,y  )*(-2.0)+          \
+				E(x,t+h,y)*( 1.0)           \
+				)/(h*h)                     \
+				)
+#define DD_NORMAL(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-2*h,y)*(-1.0/12.0)+   \
+				E(x,t-h  ,y)*(  4.0/3.0)+   \
+				E(x,t    ,y)*( -5.0/2.0)+   \
+				E(x,t+h  ,y)*(  4.0/3.0)+   \
+				E(x,t+2*h,y)*(-1.0/12.0)    \
+				)/(h*h)                     \
+				)
+#define DD_FINE(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-3*h,y)*(  1.0/90.0)+  \
+				E(x,t-2*h,y)*( -3.0/20.0)+  \
+				E(x,t-h  ,y)*(   3.0/2.0)+  \
+				E(x,t    ,y)*(-49.0/18.0)+  \
+				E(x,t+h  ,y)*(   3.0/2.0)+  \
+				E(x,t+2*h,y)*( -3.0/20.0)+  \
+				E(x,t+3*h,y)*(  1.0/90.0)   \
+				)/(h*h)                     \
+				)
+#define DD_EXTREME(x,t,h,y)\
+				(                           \
+				(                           \
+				E(x,t-4*h,y)*( -1.0/560.0)+ \
+				E(x,t-3*h,y)*(  8.0/315.0)+ \
+				E(x,t-2*h,y)*(   -1.0/5.0)+ \
+				E(x,t-h  ,y)*(    8.0/5.0)+ \
+				E(x,t    ,y)*(-205.0/72.0)+ \
+				E(x,t+h  ,y)*(    8.0/5.0)+ \
+				E(x,t+2*h,y)*(   -1.0/5.0)+ \
+				E(x,t+3*h,y)*(  8.0/315.0)+ \
+				E(x,t+4*h,y)*( -1.0/560.0)  \
+				)/(h*h)                     \
+				)
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_Derivative::ValueNode_Derivative(const ValueBase &value):
+	LinkableValueNode(value.get_type())
+{
+	Vocab ret(get_children_vocab());
+	set_children_vocab(ret);
+	set_link("interval",      ValueNode_Const::create(Real(0.01))); // Default interval
+	set_link("accuracy",      ValueNode_Const::create((int)(NORMAL)));
+	set_link("order",         ValueNode_Const::create((int)(FIRST)));
+
+	Type &type(get_type());
+	if (type == type_real)
+		set_link("link",ValueNode_Const::create(value.get(Real())));
+	else
+	if (type == type_time)
+		set_link("link",ValueNode_Const::create(value.get(Time())));
+	else
+	if (type == type_angle)
+		set_link("link",ValueNode_Const::create(value.get(Angle())));
+	else
+	if (type == type_vector)
+		set_link("link",ValueNode_Const::create(value.get(Vector())));
+	else
+		throw Exception::BadType(type.description.local_name);
+}
+
+LinkableValueNode*
+ValueNode_Derivative::create_new()const
+{
+	return new ValueNode_Derivative(get_type());
+}
+
+ValueNode_Derivative*
+ValueNode_Derivative::create(const ValueBase &x)
+{
+	return new ValueNode_Derivative(x);
+}
+
+ValueNode_Derivative::~ValueNode_Derivative()
+{
+	unlink_all();
+}
+
+ValueBase
+ValueNode_Derivative::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+
+	Type &type(get_type());
+	if (type == type_real)
+	{
+		switch((*accuracy_)(t).get(int()))
+		{
+		case ROUGH:
+			return (*order_)(t).get(int())?
+					DD_ROUGH(link_,t,(*interval_)(t).get(Real()),Real()):
+					D_ROUGH(link_,t,(*interval_)(t).get(Real()),Real());
+			break;
+		case FINE:
+			return (*order_)(t).get(int())?
+					DD_FINE(link_,t,(*interval_)(t).get(Real()),Real()):
+					D_FINE(link_,t,(*interval_)(t).get(Real()),Real());
+			break;
+		case EXTREME:
+			return (*order_)(t).get(int())?
+					DD_EXTREME(link_,t,(*interval_)(t).get(Real()),Real()):
+					D_EXTREME(link_,t,(*interval_)(t).get(Real()),Real());
+			break;
+		case NORMAL:
+		default:
+			return (*order_)(t).get(int())?
+					DD_NORMAL(link_,t,(*interval_)(t).get(Real()),Real()):
+					D_NORMAL(link_,t,(*interval_)(t).get(Real()),Real());
+		break;
+		}
+	}
+	else
+	if (type == type_time)
+	{
+		switch((*accuracy_)(t).get(int()))
+		{
+		case ROUGH:
+			return (*order_)(t).get(int())?
+					DD_ROUGH(link_,t,(*interval_)(t).get(Real()),Time()):
+					D_ROUGH(link_,t,(*interval_)(t).get(Real()),Time());
+			break;
+		case FINE:
+			return (*order_)(t).get(int())?
+					DD_FINE(link_,t,(*interval_)(t).get(Real()),Time()):
+					D_FINE(link_,t,(*interval_)(t).get(Real()),Time());
+			break;
+		case EXTREME:
+			return (*order_)(t).get(int())?
+					DD_EXTREME(link_,t,(*interval_)(t).get(Real()),Time()):
+					D_EXTREME(link_,t,(*interval_)(t).get(Real()),Time());
+			break;
+		case NORMAL:
+		default:
+			return (*order_)(t).get(int())?
+					DD_NORMAL(link_,t,(*interval_)(t).get(Real()),Time()):
+					D_NORMAL(link_,t,(*interval_)(t).get(Real()),Time());
+		break;
+		}
+	}
+	else
+	if (type == type_angle)
+	{
+		switch((*accuracy_)(t).get(int()))
+		{
+		case ROUGH:
+			return (*order_)(t).get(int())?
+					DD_ROUGH(link_,t,(*interval_)(t).get(Real()),Angle()):
+					D_ROUGH(link_,t,(*interval_)(t).get(Real()),Angle());
+			break;
+		case FINE:
+			return (*order_)(t).get(int())?
+					DD_FINE(link_,t,(*interval_)(t).get(Real()),Angle()):
+					D_FINE(link_,t,(*interval_)(t).get(Real()),Angle());
+			break;
+		case EXTREME:
+			return (*order_)(t).get(int())?
+					DD_EXTREME(link_,t,(*interval_)(t).get(Real()),Angle()):
+					D_EXTREME(link_,t,(*interval_)(t).get(Real()),Angle());
+			break;
+		case NORMAL:
+		default:
+			return (*order_)(t).get(int())?
+					DD_NORMAL(link_,t,(*interval_)(t).get(Real()),Angle()):
+					D_NORMAL(link_,t,(*interval_)(t).get(Real()),Angle());
+		break;
+		}
+	}
+	else
+	if (type == type_vector)
+	{
+		switch((*accuracy_)(t).get(int()))
+		{
+		case ROUGH:
+			return (*order_)(t).get(int())?
+					DD_ROUGH(link_,t,(*interval_)(t).get(Real()),Vector()):
+					D_ROUGH(link_,t,(*interval_)(t).get(Real()),Vector());
+			break;
+		case FINE:
+			return (*order_)(t).get(int())?
+					DD_FINE(link_,t,(*interval_)(t).get(Real()),Vector()):
+					D_FINE(link_,t,(*interval_)(t).get(Real()),Vector());
+			break;
+		case EXTREME:
+			return (*order_)(t).get(int())?
+					DD_EXTREME(link_,t,(*interval_)(t).get(Real()),Vector()):
+					D_EXTREME(link_,t,(*interval_)(t).get(Real()),Vector());
+			break;
+		case NORMAL:
+		default:
+			return (*order_)(t).get(int())?
+					DD_NORMAL(link_,t,(*interval_)(t).get(Real()),Vector()):
+					D_NORMAL(link_,t,(*interval_)(t).get(Real()),Vector());
+		break;
+		}
+	}
+	return ValueBase();
+}
+
+String
+ValueNode_Derivative::get_name()const
+{
+	return "derivative";
+}
+
+String
+ValueNode_Derivative::get_local_name()const
+{
+	return _("Derivative");
+}
+
+bool
+ValueNode_Derivative::check_type(Type &type)
+{
+	return
+		type==type_real ||
+		type==type_time ||
+		type==type_angle ||
+		type==type_vector;
+}
+
+bool
+ValueNode_Derivative::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(link_,    get_type());
+	case 1: CHECK_TYPE_AND_SET_VALUE(interval_,type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(accuracy_,type_integer);
+	case 3: CHECK_TYPE_AND_SET_VALUE(order_,type_integer);
+	}
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_Derivative::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: return link_;
+	case 1: return interval_;
+	case 2: return accuracy_;
+	case 3: return order_;
+	default:
+		return 0;
+	}
+}
+
+LinkableValueNode::Vocab
+ValueNode_Derivative::get_children_vocab_vfunc()const
+{
+	if(children_vocab.size())
+		return children_vocab;
+
+	LinkableValueNode::Vocab ret;
+	ret.push_back(ParamDesc(ValueBase(),"link")
+		.set_local_name(_("Link"))
+		.set_description(_("Value to calculate the derivative"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"interval")
+		.set_local_name(_("Interval"))
+		.set_description(_("Interval of time to calculate the finite differences"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"accuracy")
+		.set_local_name(_("Accuracy"))
+		.set_description(_("Accuracy of the derivative"))
+		.set_hint("enum")
+		.add_enum_value(ROUGH,"rough",_("Rough"))
+		.add_enum_value(NORMAL,"normal",_("Normal"))
+		.add_enum_value(FINE,"fine",_("Fine"))
+		.add_enum_value(EXTREME,"extreme",_("Extreme"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"order")
+		.set_local_name(_("Order"))
+		.set_description(_("Order of the derivative"))
+		.set_hint("enum")
+		.add_enum_value(FIRST,"first",_("First Derivative"))
+		.add_enum_value(SECOND,"second",_("Second Derivative"))
+	);
+	return ret;
+}
diff --git a/src/synfig/valuenode_intstring.h b/src/synfig/valuenode_derivative.h
similarity index 57%
copy from src/synfig/valuenode_intstring.h
copy to src/synfig/valuenode_derivative.h
index 98dfe04..fe4244d 100644
--- a/src/synfig/valuenode_intstring.h
+++ b/src/synfig/valuenode_derivative.h
@@ -1,13 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_intstring.h
-**	\brief Header file for implementation of the "Int String" valuenode conversion.
+/*!	\file valuenode_derivative.h
+**	\brief Header file for implementation of the "Derivative" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**	Copyright (c) 2008 Chris Moore
-**  Copyright (c) 2011 Carlos López
+**	Copyright (c) 2014 Carlos López
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -24,8 +22,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_INTSTRING_H
-#define __SYNFIG_VALUENODE_INTSTRING_H
+#ifndef __SYNFIG_VALUENODE_DERIVATIVE_H
+#define __SYNFIG_VALUENODE_DERIVATIVE_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -37,23 +35,41 @@
 
 namespace synfig {
 
-class ValueNode_IntString : public LinkableValueNode
+// Class ValueNode_Derivative
+// Implementation of a derivateive based on finite diferences
+// See: http://en.wikipedia.org/wiki/Finite_difference
+// and http://en.wikipedia.org/wiki/Finite_difference_coefficients
+
+class ValueNode_Derivative : public LinkableValueNode
 {
-	ValueNode::RHandle int_;
-	ValueNode::RHandle width_;
-	ValueNode::RHandle zero_pad_;
 
-	ValueNode_IntString(const ValueBase &value);
+	ValueNode::RHandle link_;         // Value Node whom is calculated the derivative
+	ValueNode::RHandle interval_;     // Size of the interval to calculate the finite differences
+	ValueNode::RHandle accuracy_;     // Accuracy order
+	ValueNode::RHandle order_;        // First or Second order derivative
 
-public:
+	ValueNode_Derivative(const ValueBase &value);
 
-	typedef etl::handle<ValueNode_IntString> Handle;
-	typedef etl::handle<const ValueNode_IntString> ConstHandle;
+public:
 
+	enum Accuracy
+	{
+		ROUGH     =0,
+		NORMAL    =1,
+		FINE      =2,
+		EXTREME   =3
+	};
+	enum Order
+	{
+		FIRST     =0,
+		SECOND    =1
+	};
+	typedef etl::handle<ValueNode_Derivative> Handle;
+	typedef etl::handle<const ValueNode_Derivative> ConstHandle;
 
 	virtual ValueBase operator()(Time t)const;
 
-	virtual ~ValueNode_IntString();
+	virtual ~ValueNode_Derivative();
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
@@ -68,10 +84,10 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_IntString* create(const ValueBase &x);
+	static bool check_type(Type &type);
+	static ValueNode_Derivative* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
-}; // END of class ValueNode_IntString
+}; // END of class ValueNode_Derivative
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/valuenode_dilist.cpp b/src/synfig/valuenode_dilist.cpp
index 296a706..b6eb928 100644
--- a/src/synfig/valuenode_dilist.cpp
+++ b/src/synfig/valuenode_dilist.cpp
@@ -58,7 +58,7 @@ using namespace synfig;
 
 
 ValueNode_DIList::ValueNode_DIList():
-	ValueNode_DynamicList(ValueBase::TYPE_DASHITEM)
+	ValueNode_DynamicList(type_dash_item)
 {
 }
 
@@ -70,18 +70,17 @@ ValueNode_DIList*
 ValueNode_DIList::create(const ValueBase &value)
 {
 	// if the parameter is not a list type, return null
-	if(value.get_type()!=ValueBase::TYPE_LIST)
+	if(value.get_type()!=type_list)
 		return NULL;
 	// create an empty list
 	ValueNode_DIList* value_node(new ValueNode_DIList());
 	// If the value parameter is not empty
 	if(!value.empty())
 	{
-		switch(value.get_contained_type())
+		Type &type(value.get_contained_type());
+		if (type == type_dash_item)
 		{
-		case ValueBase::TYPE_DASHITEM:
-		{
-			std::vector<DashItem> list(value.get_list().begin(),value.get_list().end());
+			std::vector<DashItem> list(value.get_list_of(DashItem()));
 			std::vector<DashItem>::const_iterator iter;
 
 			for(iter=list.begin();iter!=list.end();iter++)
@@ -90,12 +89,11 @@ ValueNode_DIList::create(const ValueBase &value)
 			}
 			value_node->set_loop(value.get_loop());
 		}
-			break;
-		default:
+		else
+		{
 			// We got a list of who-knows-what. We don't have any idea
 			// what to do with it.
 			return NULL;
-			break;
 		}
 	}
 
@@ -187,9 +185,9 @@ ValueNode_DIList::create_new()const
 }
 
 bool
-ValueNode_DIList::check_type(ValueBase::Type type)
+ValueNode_DIList::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_LIST;
+	return type==type_list;
 }
 
 ValueNode::LooseHandle
diff --git a/src/synfig/valuenode_dilist.h b/src/synfig/valuenode_dilist.h
index 7be4b1c..0857e16 100644
--- a/src/synfig/valuenode_dilist.h
+++ b/src/synfig/valuenode_dilist.h
@@ -85,9 +85,9 @@ protected:
 
 public:
 
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	// Creates a Value Node Width Point List from another compatible list
-	static ValueNode_DIList* create(const ValueBase &x=ValueBase::TYPE_LIST);
+	static ValueNode_DIList* create(const ValueBase &x=type_list);
 }; // END of class ValueNode_DIList
 
 typedef ValueNode_DIList::ListEntry::ActivepointList ActivepointList;
diff --git a/src/synfig/valuenode_dotproduct.cpp b/src/synfig/valuenode_dotproduct.cpp
index 588f523..0b9fcf0 100644
--- a/src/synfig/valuenode_dotproduct.cpp
+++ b/src/synfig/valuenode_dotproduct.cpp
@@ -56,19 +56,20 @@ ValueNode_DotProduct::ValueNode_DotProduct(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	Type &type(value.get_type());
+	if (type == type_real)
 	{
-	case ValueBase::TYPE_REAL:
 		set_link("lhs",ValueNode_Const::create(Vector(value.get(Real()),0)));
 		set_link("rhs",ValueNode_Const::create(Vector(1,0)));
-		break;
-	case ValueBase::TYPE_ANGLE:
+	}
+	else
+	if (type == type_angle)
+	{
 		set_link("lhs",ValueNode_Const::create(Vector(Angle::cos(value.get(Angle())).get(), Angle::sin(value.get(Angle())).get())));
 		set_link("rhs",ValueNode_Const::create(Vector(1,0)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
 	}
+
+	throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -97,15 +98,11 @@ ValueNode_DotProduct::operator()(Time t)const
 	Vector lhs((*lhs_)(t).get(Vector()));
 	Vector rhs((*rhs_)(t).get(Vector()));
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return Angle::cos(lhs * rhs / lhs.mag() / rhs.mag()).mod();
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return lhs * rhs;
-	default:
-		break;
-	}
 
 	assert(0);
 	return ValueBase();
@@ -130,8 +127,8 @@ ValueNode_DotProduct::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(lhs_, ValueBase::TYPE_VECTOR);
-	case 1: CHECK_TYPE_AND_SET_VALUE(rhs_, ValueBase::TYPE_VECTOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(lhs_, type_vector);
+	case 1: CHECK_TYPE_AND_SET_VALUE(rhs_, type_vector);
 	}
 	return false;
 }
@@ -151,11 +148,11 @@ ValueNode_DotProduct::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_DotProduct::check_type(ValueBase::Type type)
+ValueNode_DotProduct::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE ||
-		type==ValueBase::TYPE_REAL;
+		type==type_angle ||
+		type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_dotproduct.h b/src/synfig/valuenode_dotproduct.h
index 76e70bf..6c19b5c 100644
--- a/src/synfig/valuenode_dotproduct.h
+++ b/src/synfig/valuenode_dotproduct.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_DotProduct* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_DotProduct
diff --git a/src/synfig/valuenode_duplicate.cpp b/src/synfig/valuenode_duplicate.cpp
index 655c323..747d5f3 100644
--- a/src/synfig/valuenode_duplicate.cpp
+++ b/src/synfig/valuenode_duplicate.cpp
@@ -51,20 +51,21 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Duplicate::ValueNode_Duplicate(const ValueBase::Type &x):
-	LinkableValueNode(x)
+ValueNode_Duplicate::ValueNode_Duplicate(Type &x):
+	LinkableValueNode(x),
+	index()
 {
 }
 
 ValueNode_Duplicate::ValueNode_Duplicate(const ValueBase &x):
-	LinkableValueNode(x.get_type())
+	LinkableValueNode(x.get_type()),
+	index(1.0)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
 	set_link("from", ValueNode_Const::create(Real(1.0)));
 	set_link("to",   ValueNode_Const::create(x.get(Real())));
 	set_link("step", ValueNode_Const::create(Real(1.0)));
-	index = 1.0;
 }
 
 ValueNode_Duplicate*
@@ -91,9 +92,9 @@ ValueNode_Duplicate::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(from_, ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(to_,   ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(step_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(from_, type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(to_,   type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(step_, type_real);
 	}
 	return false;
 }
@@ -175,7 +176,7 @@ ValueNode_Duplicate::get_local_name()const
 }
 
 bool
-ValueNode_Duplicate::check_type(ValueBase::Type type __attribute__ ((unused)))
+ValueNode_Duplicate::check_type(Type &type __attribute__ ((unused)))
 {
 	// never offer this as a choice.  it's used automatically by the 'Duplicate' layer.
 	return false;
diff --git a/src/synfig/valuenode_duplicate.h b/src/synfig/valuenode_duplicate.h
index ddf3230..b63a6b8 100644
--- a/src/synfig/valuenode_duplicate.h
+++ b/src/synfig/valuenode_duplicate.h
@@ -48,7 +48,7 @@ public:
 	typedef etl::handle<ValueNode_Duplicate> Handle;
 	typedef etl::handle<const ValueNode_Duplicate> ConstHandle;
 
-	ValueNode_Duplicate(const ValueBase::Type &x);
+	ValueNode_Duplicate(Type &x);
 	ValueNode_Duplicate(const ValueBase &x);
 
 	virtual ValueBase operator()(Time t)const;
@@ -71,7 +71,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Duplicate* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Duplicate
diff --git a/src/synfig/valuenode_dynamic.cpp b/src/synfig/valuenode_dynamic.cpp
new file mode 100644
index 0000000..44b14a1
--- /dev/null
+++ b/src/synfig/valuenode_dynamic.cpp
@@ -0,0 +1,290 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_dynamic.cpp
+**	\brief Implementation of the "Dynamic" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2014 Carlos López
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_dynamic.h"
+#include "valuenode_const.h"
+#include "general.h"
+#include <ETL/misc>
+
+#include <boost/numeric/odeint/integrate/integrate.hpp>
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+using namespace boost::numeric::odeint;
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_Dynamic::ValueNode_Dynamic(const ValueBase &value):
+	LinkableValueNode(value.get_type())
+{
+	Vocab ret(get_children_vocab());
+	set_children_vocab(ret);
+	set_link("origin",       ValueNode_Const::create(Vector(0,0)));
+	set_link("force",        ValueNode_Const::create(Vector(0,0)));
+	set_link("torque",       ValueNode_Const::create(Real(0.0)));
+	set_link("damping",      ValueNode_Const::create(Real(0.4)));
+	set_link("friction",     ValueNode_Const::create(Real(0.4)));
+	set_link("spring",       ValueNode_Const::create(Real(30.0)));
+	set_link("torsion",      ValueNode_Const::create(Real(30.0)));
+	set_link("mass",         ValueNode_Const::create(Real(0.3)));
+	set_link("inertia",      ValueNode_Const::create(Real(0.3)));
+	set_link("spring_rigid",ValueNode_Const::create(false));
+	set_link("torsion_rigid",ValueNode_Const::create(false));
+	set_link("origin_drags_tip",ValueNode_Const::create(true));
+
+
+	if (get_type() == type_vector)
+		set_link("tip_static",ValueNode_Const::create(value.get(Vector())));
+	else
+		throw Exception::BadType(get_type().description.local_name);
+
+	/* Initial values*/
+	state.resize(4);
+	reset_state(Time(0.0));
+
+	/*Derivative of the base position*/
+	origin_d_=ValueNode_Derivative::create(ValueBase(Vector()));
+	origin_d_->set_link("order", ValueNode_Const::create((int)(ValueNode_Derivative::SECOND)));
+
+	/* Initialize the last time called to be 0*/
+	last_time=Time(0);
+}
+
+void
+ValueNode_Dynamic::reset_state(Time t)const
+{
+	state[0]=((*tip_static_)(t).get(Vector())).mag();
+	state[1]=0.0; // d/dt(radius) = 0 initially
+	state[2]=(double)(Angle::rad(((*tip_static_)(t).get(Vector())).angle()).get());
+	state[3]=0.0; // d/dt(angle) = 0 initially
+}
+LinkableValueNode*
+ValueNode_Dynamic::create_new()const
+{
+	return new ValueNode_Dynamic(get_type());
+}
+
+ValueNode_Dynamic*
+ValueNode_Dynamic::create(const ValueBase &x)
+{
+	return new ValueNode_Dynamic(x);
+}
+
+ValueNode_Dynamic::~ValueNode_Dynamic()
+{
+	unlink_all();
+}
+
+ValueBase
+ValueNode_Dynamic::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+	double t0=last_time;
+	double t1=t;
+	double step;
+	// If we are at the initial conditions
+	if(t1==t0 && t0==0.0)
+	{
+		reset_state(Time(0.0));
+		return (*origin_)(0).get(Vector()) + Vector(state[0], Angle::rad(state[2]));
+	}
+	// If we are playing backwards then calculate the value from the initial conditions
+	if(t1<t0 && t0>0.0)
+	{
+		reset_state(Time(0.0));
+		last_time=Time(0);
+		t0=0.0;
+	}
+	// Prepare the step size based on distance between start and end time
+	step=(t1-t0)/4.0;
+	// Before call the integrator we need to be sure that the derivative of the
+	// origin is properly set. Maybe the user changed the origin
+	ValueNode::RHandle value_node(ValueNode::RHandle::cast_dynamic(origin_d_->get_link("link")));
+	value_node->replace(origin_);
+	Oscillator oscillator(this);
+	std::vector<double> x(state.begin(), state.end());
+	integrate(oscillator, x, t0, t1, step);
+	// Remember time and state for the next call
+	last_time=Time(t);
+	state.assign(x.begin(), x.end());
+	// We need to check if the spring or the torsion are riggid
+	bool spring_is_rigid=(*(spring_rigid_))(t).get(bool());
+	bool torsion_is_rigid=(*(torsion_rigid_))(t).get(bool());
+	Vector tip=(*(tip_static_))(t).get(Vector());
+	// Also check if origin drags tip
+	bool origin_drags_tip=(*(origin_drags_tip_))(t).get(bool());
+
+	return Vector(origin_drags_tip?(*origin_)(t).get(Vector()):Vector(0,0))
+		+
+		Vector(spring_is_rigid?tip.mag():state[0], torsion_is_rigid?tip.angle():Angle::rad(state[2]));
+}
+
+
+String
+ValueNode_Dynamic::get_name()const
+{
+	return "dynamic";
+}
+
+String
+ValueNode_Dynamic::get_local_name()const
+{
+	return _("Dynamic");
+}
+
+bool
+ValueNode_Dynamic::check_type(Type &type)
+{
+	return type==type_vector;
+}
+
+bool
+ValueNode_Dynamic::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(tip_static_,    get_type());
+	case 1: CHECK_TYPE_AND_SET_VALUE(origin_,        type_vector);
+	case 2: CHECK_TYPE_AND_SET_VALUE(force_,         type_vector);
+	case 3: CHECK_TYPE_AND_SET_VALUE(torque_,        type_real);
+	case 4: CHECK_TYPE_AND_SET_VALUE(damping_coef_,  type_real);
+	case 5: CHECK_TYPE_AND_SET_VALUE(friction_coef_, type_real);
+	case 6: CHECK_TYPE_AND_SET_VALUE(spring_coef_,   type_real);
+	case 7: CHECK_TYPE_AND_SET_VALUE(torsion_coef_,  type_real);
+	case 8: CHECK_TYPE_AND_SET_VALUE(mass_,          type_real);
+	case 9: CHECK_TYPE_AND_SET_VALUE(inertia_,       type_real);
+	case 10: CHECK_TYPE_AND_SET_VALUE(spring_rigid_, type_bool);
+	case 11: CHECK_TYPE_AND_SET_VALUE(torsion_rigid_,type_bool);
+	case 12: CHECK_TYPE_AND_SET_VALUE(origin_drags_tip_,type_bool);
+	}
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_Dynamic::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: return tip_static_;
+	case 1: return origin_;
+	case 2: return force_;
+	case 3: return torque_;
+	case 4: return damping_coef_;
+	case 5: return friction_coef_;
+	case 6: return spring_coef_;
+	case 7: return torsion_coef_;
+	case 8: return mass_;
+	case 9: return inertia_;
+	case 10: return spring_rigid_;
+	case 11: return torsion_rigid_;
+	case 12: return origin_drags_tip_;
+	default:
+	return 0;
+	}
+}
+
+LinkableValueNode::Vocab
+ValueNode_Dynamic::get_children_vocab_vfunc()const
+{
+	if(children_vocab.size())
+		return children_vocab;
+
+	LinkableValueNode::Vocab ret;
+	ret.push_back(ParamDesc(ValueBase(),"tip_static")
+		.set_local_name(_("Tip static"))
+		.set_description(_("Equilibrium tip position without external forces"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"origin")
+		.set_local_name(_("Origin"))
+		.set_description(_("Basement of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"force")
+		.set_local_name(_("Force"))
+		.set_description(_("External force applied on the mass center of gravity"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"torque")
+		.set_local_name(_("Torque"))
+		.set_description(_("External momentum applied at the center of inertia"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"damping")
+		.set_local_name(_("Damping coefficient"))
+		.set_description(_("Radial damping coefficient of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"friction")
+		.set_local_name(_("Friction coefficient"))
+		.set_description(_("Rotational friction coefficient of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"spring")
+		.set_local_name(_("Spring coefficient"))
+		.set_description(_("Radial spring coefficient of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"torsion")
+		.set_local_name(_("Torsion coefficient"))
+		.set_description(_("Torsion coefficient of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"mass")
+		.set_local_name(_("Mass"))
+		.set_description(_("Mass of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"inertia")
+		.set_local_name(_("Moment of Inertia"))
+		.set_description(_("Moment of inertia of the dynamic system"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"spring_rigid")
+		.set_local_name(_("Spring rigid"))
+		.set_description(_("When checked, linear spring is rigid"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"torsion_rigid")
+		.set_local_name(_("Torsion rigid"))
+		.set_description(_("When checked torsion spring is rigid"))
+	);
+	ret.push_back(ParamDesc(ValueBase(),"origin_drags_tip")
+		.set_local_name(_("Origin drags tip"))
+		.set_description(_("When checked result is origin + tip otherwise result is just tip"))
+	);
+	return ret;
+}
+
diff --git a/src/synfig/valuenode_dynamic.h b/src/synfig/valuenode_dynamic.h
new file mode 100644
index 0000000..e0c7a50
--- /dev/null
+++ b/src/synfig/valuenode_dynamic.h
@@ -0,0 +1,172 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_dynamic.h
+**	\brief Header file for implementation of the "Dynamic" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2014 Carlos López
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_VALUENODE_DYNAMIC_H
+#define __SYNFIG_VALUENODE_DYNAMIC_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "valuenode.h"
+#include "valuenode_derivative.h"
+#include "valuenode_const.h"
+
+/* === M A C R O S ========================================================= */
+#define MASS_INERTIA_MINIMUM 0.0000001
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+class Oscillator;
+
+class ValueNode_Dynamic : public LinkableValueNode
+{
+	friend class Oscillator;
+private:
+
+	ValueNode::RHandle tip_static_;    // Equilibrium position without external forces
+	ValueNode::RHandle origin_;        // Basement of the dynamic system
+	ValueNode::RHandle force_;         // External force applied on the mass center of gravity
+	ValueNode::RHandle torque_;        // Momentum applied at the origin
+	ValueNode::RHandle damping_coef_;  // Radial Damping coeficient 
+	ValueNode::RHandle friction_coef_; // Rotational friction coeficient
+	ValueNode::RHandle spring_coef_;   // Spring coeficient 
+	ValueNode::RHandle torsion_coef_;  // Torsion coeficient
+	ValueNode::RHandle mass_;          // Mass 
+	ValueNode::RHandle inertia_;       // Moment of Inertia
+	ValueNode::RHandle spring_rigid_;  // True if spring is solid rigid
+	ValueNode::RHandle torsion_rigid_; // True if torsion is solid rigid
+	ValueNode::RHandle origin_drags_tip_; // If true result=origin+state otherwise result=state
+
+
+	ValueNode_Derivative::RHandle origin_d_;      // Derivative of the origin along the time
+	mutable Time last_time;
+	ValueNode_Dynamic(const ValueBase &value);
+		/*
+		State types (4) for:
+		q=radius
+		p=d/dt(radius)
+		b=angle
+		g=d/dt(angle)
+
+		where
+
+		p=dxdt[0]
+		p'=dxdt[1]
+		g=dxdt[2]
+		g'=dxdt[3]
+		q=x[0]
+		q'=x[1]
+		b=x[2]
+		b'=x[3]
+		*/
+	mutable std::vector<double> state;
+	void reset_state(Time t)const;
+public:
+
+	typedef etl::handle<ValueNode_Dynamic> Handle;
+	typedef etl::handle<const ValueNode_Dynamic> ConstHandle;
+
+	virtual ValueBase operator()(Time t)const;
+
+	virtual ~ValueNode_Dynamic();
+
+	virtual String get_name()const;
+	virtual String get_local_name()const;
+
+	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
+
+protected:
+	LinkableValueNode* create_new()const;
+	virtual bool set_link_vfunc(int i,ValueNode::Handle x);
+
+public:
+	using synfig::LinkableValueNode::get_link_vfunc;
+
+	using synfig::LinkableValueNode::set_link_vfunc;
+	static bool check_type(Type &type);
+	static ValueNode_Dynamic* create(const ValueBase &x);
+	virtual Vocab get_children_vocab_vfunc()const;
+}; // END of class ValueNode_Dynamic
+
+
+class Oscillator
+{
+	etl::handle<const ValueNode_Dynamic> d;
+public:
+    Oscillator(const ValueNode_Dynamic* x) : d(x) { }
+    void operator() ( const std::vector<double> &x , std::vector<double> &dxdt , const double t )
+	{
+		Vector u(cos(x[2]), sin(x[2]));
+		Vector v(-u[1], u[0]);
+		Vector sd=(*(d->origin_d_))(t).get(Vector());
+		Vector f=(*(d->force_))(t).get(Vector());
+		double to=(*(d->torque_))(t).get(double());
+		double c=(*(d->damping_coef_))(t).get(double());
+		double mu=(*(d->friction_coef_))(t).get(double());
+		double k=(*(d->spring_coef_))(t).get(double());
+		double tau=(*(d->torsion_coef_))(t).get(double());
+		double m=(*(d->mass_))(t).get(double());
+		double i=(*(d->inertia_))(t).get(double());
+		Vector tip=(*(d->tip_static_))(t).get(Vector());
+	
+		double fr=f*u;
+		double fa=f*v;
+		// Those are the second derivatives (speed of origin)
+		double srd=sd*u;
+		double sad=sd*v;
+		// Calculate the steady position in terms of state
+		double r0=tip.mag();
+		double a0=(double)(Angle::rad(tip.angle()).get());
+		double r=x[0]-r0; // effective radius
+		double a=x[2]-a0; // effective alpha
+		double rd=x[1]; // radius speed
+		double ad=x[3]; // alpha speed
+		double imr2=i+m*x[0]*x[0]; // effective inertia
+		// Check if the spring rigid
+		bool spring_is_rigid=(*(d->spring_rigid_))(t).get(bool());
+		// Check if the torsion rigid
+		bool torsion_is_rigid=(*(d->torsion_rigid_))(t).get(bool());
+		// Integration operations
+		dxdt[0]=x[1];
+		// Disable movement if the spring is rigid 
+		// or if the mass is near to zero but animated.
+		if(spring_is_rigid || fabs(m)<=MASS_INERTIA_MINIMUM)
+			dxdt[1]=0.0;
+		else
+			dxdt[1]=(fr-c*rd-k*r)/m-srd;
+		dxdt[2]=x[3];
+		// Disable rotation if the torsion is rigid
+		// or if the inertia is near to zero but animated.
+		if(torsion_is_rigid || fabs(imr2)<=MASS_INERTIA_MINIMUM)
+			dxdt[3]=0.0;
+		else
+			dxdt[3]=(to+fa*x[0]-mu*ad-tau*a)/imr2-sad;
+	}
+
+};
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/valuenode_dynamiclist.cpp b/src/synfig/valuenode_dynamiclist.cpp
index 5e37cb0..60f9950 100644
--- a/src/synfig/valuenode_dynamiclist.cpp
+++ b/src/synfig/valuenode_dynamiclist.cpp
@@ -168,9 +168,8 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		}
 	}
 
-	switch(get_contained_type())
-	{
-	case ValueBase::TYPE_VECTOR:
+	Type &type(get_contained_type());
+	if (type == type_vector)
 	{
 		if(c)
 		{
@@ -181,9 +180,9 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		{
 			ret.value_node=ValueNode_Const::create(Vector());
 		}
-		break;
 	}
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 	{
 		if(c)
 		{
@@ -194,9 +193,9 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		{
 			ret.value_node=ValueNode_Const::create(Real());
 		}
-		break;
 	}
-	case ValueBase::TYPE_COLOR:
+	else
+	if (type == type_color)
 	{
 		if(c)
 		{
@@ -207,9 +206,9 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		{
 			ret.value_node=ValueNode_Const::create(Color());
 		}
-		break;
 	}
-	case ValueBase::TYPE_ANGLE:
+	else
+	if (type == type_angle)
 	{
 		if(c)
 		{
@@ -220,9 +219,9 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		{
 			ret.value_node=ValueNode_Const::create(Angle());
 		}
-		break;
 	}
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 	{
 		if(c)
 		{
@@ -233,15 +232,13 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		{
 			ret.value_node=ValueNode_Const::create(Time());
 		}
-		break;
 	}
-	default:
+	else
+	{
 		ret.value_node=ValueNode_Const::create(get_contained_type());
-		break;
 	}
 
 	ret.value_node->set_parent_canvas(get_parent_canvas());
-
 	return ret;
 }
 
@@ -588,9 +585,9 @@ ValueNode_DynamicList::erase(const ValueNode::Handle &value_node_)
 }
 
 
-ValueNode_DynamicList::ValueNode_DynamicList(ValueBase::Type container_type, Canvas::LooseHandle canvas):
-	LinkableValueNode(ValueBase::TYPE_LIST),
-	container_type	(container_type),
+ValueNode_DynamicList::ValueNode_DynamicList(Type &container_type, Canvas::LooseHandle canvas):
+	LinkableValueNode(type_list),
+	container_type(&container_type),
 	loop_(false)
 {
 	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
@@ -598,10 +595,21 @@ ValueNode_DynamicList::ValueNode_DynamicList(ValueBase::Type container_type, Can
 	set_parent_canvas(canvas);
 }
 
+ValueNode_DynamicList::ValueNode_DynamicList(Type &container_type, Type &type, Canvas::LooseHandle canvas):
+	LinkableValueNode(type),
+	container_type(&container_type),
+	loop_(false)
+{
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set parent canvas for dynamic_list %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+	set_parent_canvas(canvas);
+}
+
+
 ValueNode_DynamicList::Handle
-ValueNode_DynamicList::create(ValueBase::Type id, Canvas::LooseHandle canvas)
+ValueNode_DynamicList::create(Type &type, Canvas::LooseHandle canvas)
 {
-	return new ValueNode_DynamicList(id, canvas);
+	return new ValueNode_DynamicList(type, canvas);
 }
 
 ValueNode_DynamicList::~ValueNode_DynamicList()
@@ -625,7 +633,7 @@ ValueNode_DynamicList::create_from(const ValueBase &value)
 	// when creating a list of vectors, start it off being looped.
 	// I think the only time this is used if for creating polygons,
 	// and we want them to be looped by default
-	if (value_node->get_contained_type() == ValueBase::TYPE_VECTOR)
+	if (value_node->get_contained_type() == type_vector)
 		value_node->set_loop(true);
 
 	for(iter=value_list.begin();iter!=value_list.end();++iter)
@@ -654,7 +662,7 @@ ValueNode_DynamicList::operator()(Time t)const
 
 		if(state)
 		{
-			if(iter->value_node->get_type()==container_type)
+			if(iter->value_node->get_type()==*container_type)
 				ret_list.push_back((*iter->value_node)(t));
 			else
 			{
@@ -679,7 +687,7 @@ ValueNode_DynamicList::set_link_vfunc(int i,ValueNode::Handle x)
 
 	if((unsigned)i>=list.size())
 		return false;
-	if(x->get_type()!=container_type)
+	if(x->get_type()!=*container_type)
 		return false;
 	list[i].value_node=x;
 	return true;
@@ -709,7 +717,7 @@ ValueNode_DynamicList::link_local_name(int i)const
 	return etl::strprintf(_("Item %03d"),i+1);
 }
 
-ValueNode*
+ValueNode::Handle
 ValueNode_DynamicList::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
@@ -763,9 +771,9 @@ ValueNode_DynamicList::get_local_name()const
 }
 
 bool
-ValueNode_DynamicList::check_type(ValueBase::Type type)
+ValueNode_DynamicList::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_LIST;
+	return type==type_list;
 }
 
 void
@@ -775,16 +783,16 @@ ValueNode_DynamicList::set_member_canvas(etl::loose_handle<Canvas> canvas)
 		iter->value_node->set_parent_canvas(canvas);
 }
 
-ValueBase::Type
+Type&
 ValueNode_DynamicList::get_contained_type()const
 {
-	return container_type;
+	return *container_type;
 }
 
 LinkableValueNode*
 ValueNode_DynamicList::create_new()const
 {
-	return new ValueNode_DynamicList(container_type);
+	return new ValueNode_DynamicList(*container_type);
 }
 
 int
diff --git a/src/synfig/valuenode_dynamiclist.h b/src/synfig/valuenode_dynamiclist.h
index cd5ba77..034c512 100644
--- a/src/synfig/valuenode_dynamiclist.h
+++ b/src/synfig/valuenode_dynamiclist.h
@@ -162,9 +162,10 @@ public:
 	typedef etl::handle<const ValueNode_DynamicList> ConstHandle;
 
 protected:
-	ValueNode_DynamicList(ValueBase::Type container_type=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+	ValueNode_DynamicList(Type &container_type=type_nil, etl::loose_handle<Canvas> canvas = 0);
+	ValueNode_DynamicList(Type &container_type, Type &type, etl::loose_handle<Canvas> canvas = 0);
 
-	ValueBase::Type container_type;
+	Type *container_type;
 
 	bool loop_;
 
@@ -203,7 +204,7 @@ public:
 
 	void set_member_canvas(etl::loose_handle<Canvas>);
 
-	ValueBase::Type get_contained_type()const;
+	Type& get_contained_type()const;
 
 
 	template <typename iterator> static Handle
@@ -218,7 +219,7 @@ public:
 	void insert_time(const Time& location, const Time& delta);
 	//void manipulate_time(const Time& old_begin,const Time& old_end,const Time& new_begin,const Time& new_end);
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5);
 
@@ -234,11 +235,11 @@ public:
 	**	contains, rather than the type that it will yield
 	**	(which is ValueBase::TYPE_LIST)
 	*/
-	static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+	static Handle create(Type &type=type_nil, etl::loose_handle<Canvas> canvas = 0);
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_DynamicList* create_from(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	static bool check_type(Type &type);
+	static ValueNode_DynamicList* create_from(const ValueBase &x=type_gradient);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_DynamicList
 
diff --git a/src/synfig/valuenode_exp.cpp b/src/synfig/valuenode_exp.cpp
index ee1ffb4..c450882 100644
--- a/src/synfig/valuenode_exp.cpp
+++ b/src/synfig/valuenode_exp.cpp
@@ -56,14 +56,14 @@ ValueNode_Exp::ValueNode_Exp(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_real)
 	{
-	case ValueBase::TYPE_REAL:
 		set_link("exp",ValueNode_Const::create(Real(0)));
 		set_link("scale",ValueNode_Const::create(value.get(Real())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -113,8 +113,8 @@ ValueNode_Exp::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(exp_,   ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(scale_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(exp_,   type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(scale_, type_real);
 	}
 	return false;
 }
@@ -133,9 +133,9 @@ ValueNode_Exp::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_Exp::check_type(ValueBase::Type type)
+ValueNode_Exp::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_exp.h b/src/synfig/valuenode_exp.h
index e58019f..a6982e1 100644
--- a/src/synfig/valuenode_exp.h
+++ b/src/synfig/valuenode_exp.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Exp* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Exp
diff --git a/src/synfig/valuenode_gradientcolor.cpp b/src/synfig/valuenode_gradientcolor.cpp
index 3d6ee05..282845b 100644
--- a/src/synfig/valuenode_gradientcolor.cpp
+++ b/src/synfig/valuenode_gradientcolor.cpp
@@ -57,15 +57,15 @@ ValueNode_GradientColor::ValueNode_GradientColor(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() ==  type_color)
 	{
-	case ValueBase::TYPE_COLOR:
 		set_link("gradient", ValueNode_Const::create(Gradient(value.get(Color()),value.get(Color()))));
 		set_link("index",    ValueNode_Const::create(Real(0.5)));
 		set_link("loop",    ValueNode_Const::create(bool(false)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -106,9 +106,9 @@ ValueNode_GradientColor::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(gradient_,	ValueBase::TYPE_GRADIENT);
-	case 1: CHECK_TYPE_AND_SET_VALUE(index_,	ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(loop_,		ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(gradient_,	type_gradient);
+	case 1: CHECK_TYPE_AND_SET_VALUE(index_,	type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(loop_,		type_bool);
 	}
 	return false;
 }
@@ -141,9 +141,9 @@ ValueNode_GradientColor::get_local_name()const
 }
 
 bool
-ValueNode_GradientColor::check_type(ValueBase::Type type)
+ValueNode_GradientColor::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_COLOR;
+	return type==type_color;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_gradientcolor.h b/src/synfig/valuenode_gradientcolor.h
index 22cef35..70a7c98 100644
--- a/src/synfig/valuenode_gradientcolor.h
+++ b/src/synfig/valuenode_gradientcolor.h
@@ -68,7 +68,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_GradientColor* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_GradientColor
diff --git a/src/synfig/valuenode_gradientrotate.cpp b/src/synfig/valuenode_gradientrotate.cpp
index 381a973..ba5d4c6 100644
--- a/src/synfig/valuenode_gradientrotate.cpp
+++ b/src/synfig/valuenode_gradientrotate.cpp
@@ -54,7 +54,7 @@ using namespace synfig;
 /* === M E T H O D S ======================================================= */
 
 synfig::ValueNode_GradientRotate::ValueNode_GradientRotate(const Gradient& x):
-	LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
+	LinkableValueNode(synfig::type_gradient)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
@@ -71,16 +71,16 @@ ValueNode_GradientRotate::create_new()const
 ValueNode_GradientRotate*
 ValueNode_GradientRotate::create(const ValueBase& x)
 {
-	ValueBase::Type id(x.get_type());
-	if(id!=ValueBase::TYPE_GRADIENT)
+	Type &type(x.get_type());
+	if(type!=type_gradient)
 	{
 		assert(0);
-		throw runtime_error(String(_("Gradient Rotate"))+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(String(_("Gradient Rotate"))+_(":Bad type ")+type.description.local_name);
 	}
 
 	ValueNode_GradientRotate* value_node=new ValueNode_GradientRotate(x.get(Gradient()));
 
-	assert(value_node->get_type()==id);
+	assert(value_node->get_type()==type);
 
 	return value_node;
 }
@@ -113,8 +113,8 @@ ValueNode_GradientRotate::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(ref_gradient, ValueBase::TYPE_GRADIENT);
-	case 1: CHECK_TYPE_AND_SET_VALUE(ref_offset,   ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(ref_gradient, type_gradient);
+	case 1: CHECK_TYPE_AND_SET_VALUE(ref_offset,   type_real);
 	}
 	return false;
 }
@@ -147,9 +147,9 @@ ValueNode_GradientRotate::get_local_name()const
 }
 
 bool
-ValueNode_GradientRotate::check_type(ValueBase::Type type)
+ValueNode_GradientRotate::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_GRADIENT;
+	return type==type_gradient;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_gradientrotate.h b/src/synfig/valuenode_gradientrotate.h
index 1073241..65e34b6 100644
--- a/src/synfig/valuenode_gradientrotate.h
+++ b/src/synfig/valuenode_gradientrotate.h
@@ -62,7 +62,7 @@ public:
 	virtual String get_name()const;
 	virtual String get_local_name()const;
 
-//	static bool check_type(const ValueBase::Type &type);
+//	static bool check_type(Type &type);
 protected:
 	virtual bool set_link_vfunc(int i,ValueNode::Handle x);
 
@@ -72,8 +72,8 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_GradientRotate* create(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	static bool check_type(Type &type);
+	static ValueNode_GradientRotate* create(const ValueBase &x=type_gradient);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_GradientRotate
 
diff --git a/src/synfig/valuenode_greyed.cpp b/src/synfig/valuenode_greyed.cpp
index 1a4c982..f7d9a7d 100644
--- a/src/synfig/valuenode_greyed.cpp
+++ b/src/synfig/valuenode_greyed.cpp
@@ -47,7 +47,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Greyed::ValueNode_Greyed(const ValueBase::Type &x):
+ValueNode_Greyed::ValueNode_Greyed(Type &x):
 	ValueNode_Reference(x)
 {
 }
diff --git a/src/synfig/valuenode_greyed.h b/src/synfig/valuenode_greyed.h
index 7cefd57..7499c97 100644
--- a/src/synfig/valuenode_greyed.h
+++ b/src/synfig/valuenode_greyed.h
@@ -40,7 +40,7 @@ class ValueNode_Greyed : public ValueNode_Reference
 {
 public:
 	typedef etl::handle<ValueNode_Greyed> Handle;
-	ValueNode_Greyed(const ValueBase::Type &x);
+	ValueNode_Greyed(Type &x);
 	ValueNode_Greyed(const ValueNode::Handle &x);
 
 	virtual String get_name()const;
diff --git a/src/synfig/valuenode_integer.cpp b/src/synfig/valuenode_integer.cpp
index eef413a..0a03783 100644
--- a/src/synfig/valuenode_integer.cpp
+++ b/src/synfig/valuenode_integer.cpp
@@ -53,7 +53,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Integer::ValueNode_Integer(const ValueBase::Type &x):
+ValueNode_Integer::ValueNode_Integer(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -63,23 +63,22 @@ ValueNode_Integer::ValueNode_Integer(const ValueBase &x):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(x.get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(x.get_type());
+	if (type == type_angle)
 		set_link("link", ValueNode_Const::create(round_to_int(Angle::deg(x.get(Angle())).get())));
-		break;
-	case ValueBase::TYPE_BOOL:
+	else
+	if (type == type_bool)
 		set_link("link", ValueNode_Const::create(int(x.get(bool()))));
-		break;
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 		set_link("link", ValueNode_Const::create(round_to_int(x.get(Real()))));
-		break;
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 		set_link("link", ValueNode_Const::create(round_to_int(x.get(Time()))));
-		break;
-	default:
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(x.get_type()));
+		throw runtime_error(get_local_name()+_(":Bad type ")+x.get_type().description.local_name);
 	}
 }
 
@@ -107,7 +106,7 @@ ValueNode_Integer::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(integer_, ValueBase::TYPE_INTEGER);
+	case 0: CHECK_TYPE_AND_SET_VALUE(integer_, type_integer);
 	}
 	return false;
 }
@@ -130,20 +129,18 @@ ValueNode_Integer::operator()(Time t)const
 
 	int integer = (*integer_)(t).get(int());
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return Angle::deg(integer);
-	case ValueBase::TYPE_BOOL:
+	if (type == type_bool)
 		return bool(integer);
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return Real(integer);
-	case ValueBase::TYPE_TIME:
+	if (type == type_time)
 		return Time(integer);
-	default:
-		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(get_type()));
-	}
+
+	assert(0);
+	throw runtime_error(get_local_name()+_(":Bad type ")+get_type().description.local_name);
 }
 
 ValueBase
@@ -173,13 +170,13 @@ ValueNode_Integer::get_local_name()const
 }
 
 bool
-ValueNode_Integer::check_type(ValueBase::Type type __attribute__ ((unused)))
+ValueNode_Integer::check_type(Type &type __attribute__ ((unused)))
 {
 	return
-		type==ValueBase::TYPE_ANGLE ||
-		type==ValueBase::TYPE_BOOL  ||
-		type==ValueBase::TYPE_REAL  ||
-		type==ValueBase::TYPE_TIME;
+		type==type_angle ||
+		type==type_bool  ||
+		type==type_real  ||
+		type==type_time;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_integer.h b/src/synfig/valuenode_integer.h
index 753b766..eec7e77 100644
--- a/src/synfig/valuenode_integer.h
+++ b/src/synfig/valuenode_integer.h
@@ -45,7 +45,7 @@ public:
 	typedef etl::handle<ValueNode_Integer> Handle;
 	typedef etl::handle<const ValueNode_Integer> ConstHandle;
 
-	ValueNode_Integer(const ValueBase::Type &x);
+	ValueNode_Integer(Type &x);
 	ValueNode_Integer(const ValueBase &x);
 
 	virtual ValueBase operator()(Time t)const;
@@ -69,7 +69,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Integer* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Integer
diff --git a/src/synfig/valuenode_intstring.cpp b/src/synfig/valuenode_intstring.cpp
index b694f49..91e298b 100644
--- a/src/synfig/valuenode_intstring.cpp
+++ b/src/synfig/valuenode_intstring.cpp
@@ -57,15 +57,15 @@ ValueNode_IntString::ValueNode_IntString(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_string)
 	{
-	case ValueBase::TYPE_STRING:
 		set_link("int",ValueNode_Const::create(int(0)));
 		set_link("width",ValueNode_Const::create(int(0)));
 		set_link("zero_pad",ValueNode_Const::create(bool(false)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -96,15 +96,10 @@ ValueNode_IntString::operator()(Time t)const
 	int width((*width_)(t).get(int()));
 	int zero_pad((*zero_pad_)(t).get(bool()));
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_STRING:
+	if (get_type() == type_string)
 		return strprintf(strprintf("%%%s%dd",
 								   zero_pad ? "0" : "",
 								   width).c_str(), integer);
-	default:
-		break;
-	}
 
 	assert(0);
 	return ValueBase();
@@ -129,9 +124,9 @@ ValueNode_IntString::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(int_, ValueBase::TYPE_INTEGER);
-	case 1: CHECK_TYPE_AND_SET_VALUE(width_, ValueBase::TYPE_INTEGER);
-	case 2: CHECK_TYPE_AND_SET_VALUE(zero_pad_, ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(int_, type_integer);
+	case 1: CHECK_TYPE_AND_SET_VALUE(width_, type_integer);
+	case 2: CHECK_TYPE_AND_SET_VALUE(zero_pad_, type_bool);
 	}
 	return false;
 }
@@ -152,10 +147,10 @@ ValueNode_IntString::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_IntString::check_type(ValueBase::Type type)
+ValueNode_IntString::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_STRING;
+		type==type_string;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_intstring.h b/src/synfig/valuenode_intstring.h
index 98dfe04..8e46541 100644
--- a/src/synfig/valuenode_intstring.h
+++ b/src/synfig/valuenode_intstring.h
@@ -68,7 +68,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_IntString* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_IntString
diff --git a/src/synfig/valuenode_join.cpp b/src/synfig/valuenode_join.cpp
index 0b207a9..2e27da0 100644
--- a/src/synfig/valuenode_join.cpp
+++ b/src/synfig/valuenode_join.cpp
@@ -58,24 +58,22 @@ ValueNode_Join::ValueNode_Join(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_STRING:
+	if (value.get_type() == type_string)
 	{
 		vector<ValueBase> v(1, value.get(String()));
 
 		// "insert item (smart)" inserts before the selected entry, making it hard to append to the end
 		// add an extra element at the end to allow the easy insertion of text after the given value's string
-		v.push_back("");
+		v.push_back(String());
 
 		set_link("strings",ValueNode_DynamicList::create_from(v));
 		set_link("before",ValueNode_Const::create(String("")));
 		set_link("separator",ValueNode_Const::create(String("")));
 		set_link("after",ValueNode_Const::create(String("")));
-		break;
 	}
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -107,9 +105,7 @@ ValueNode_Join::operator()(Time t)const
 	const String separator((*separator_)(t).get(String()));
 	const String after((*after_)(t).get(String()));
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_STRING:
+	if (get_type() == type_string)
 	{
 		bool first = true;
 		String ret(before);
@@ -124,9 +120,6 @@ ValueNode_Join::operator()(Time t)const
 		ret += after;
 		return ret;
 	}
-	default:
-		break;
-	}
 
 	assert(0);
 	return ValueBase();
@@ -151,10 +144,10 @@ ValueNode_Join::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(strings_, ValueBase::TYPE_LIST);
-	case 1: CHECK_TYPE_AND_SET_VALUE(before_, ValueBase::TYPE_STRING);
-	case 2: CHECK_TYPE_AND_SET_VALUE(separator_, ValueBase::TYPE_STRING);
-	case 3: CHECK_TYPE_AND_SET_VALUE(after_, ValueBase::TYPE_STRING);
+	case 0: CHECK_TYPE_AND_SET_VALUE(strings_, type_list);
+	case 1: CHECK_TYPE_AND_SET_VALUE(before_, type_string);
+	case 2: CHECK_TYPE_AND_SET_VALUE(separator_, type_string);
+	case 3: CHECK_TYPE_AND_SET_VALUE(after_, type_string);
 	}
 	return false;
 }
@@ -176,10 +169,10 @@ ValueNode_Join::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_Join::check_type(ValueBase::Type type)
+ValueNode_Join::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_STRING;
+		type==type_string;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_join.h b/src/synfig/valuenode_join.h
index 1f33fd8..542ed13 100644
--- a/src/synfig/valuenode_join.h
+++ b/src/synfig/valuenode_join.h
@@ -69,7 +69,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Join* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Join
diff --git a/src/synfig/valuenode_linear.cpp b/src/synfig/valuenode_linear.cpp
index 2e4d530..3b05218 100644
--- a/src/synfig/valuenode_linear.cpp
+++ b/src/synfig/valuenode_linear.cpp
@@ -58,34 +58,45 @@ ValueNode_Linear::ValueNode_Linear(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("slope",ValueNode_Const::create(Angle::deg(0)));
 		set_link("offset",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_COLOR:
+	}
+	else
+	if (type == type_color)
+	{
 		set_link("slope",ValueNode_Const::create(Color(0,0,0,0)));
 		set_link("offset",ValueNode_Const::create(value.get(Color())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	}
+	else
+	if (type == type_integer)
+	{
 		set_link("slope",ValueNode_Const::create(int(0)));
 		set_link("offset",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	}
+	else
+	if (type == type_real)
+	{
 		set_link("slope",ValueNode_Const::create(Real(0)));
 		set_link("offset",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	}
+	else
+	if (type == type_time)
+	{
 		set_link("slope",ValueNode_Const::create(Time(0)));
 		set_link("offset",ValueNode_Const::create(value.get(Time())));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		set_link("slope",ValueNode_Const::create(Vector(0,0)));
 		set_link("offset",ValueNode_Const::create(value.get(Vector())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(type.description.local_name);
 	}
 }
 
@@ -112,24 +123,21 @@ ValueNode_Linear::operator()(Time t)const
 	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
 		printf("%s:%d operator()\n", __FILE__, __LINE__);
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return (*m_)(t).get( Angle())*t+(*b_)(t).get( Angle());
-	case ValueBase::TYPE_COLOR:
+	if (type == type_color)
 		return (*m_)(t).get( Color())*t+(*b_)(t).get( Color());
-	case ValueBase::TYPE_INTEGER:
+	if (type == type_integer)
 		return round_to_int((*m_)(t).get(int())*t+(*b_)(t).get(int()));
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return (*m_)(t).get(  Real())*t+(*b_)(t).get(  Real());
-	case ValueBase::TYPE_TIME:
+	if (type == type_time)
 		return (*m_)(t).get(  Time())*t+(*b_)(t).get(  Time());
-	case ValueBase::TYPE_VECTOR:
+	if (type == type_vector)
 		return (*m_)(t).get(Vector())*t+(*b_)(t).get(Vector());
-	default:
-		assert(0);
-		break;
-	}
+
+	assert(0);
 	return ValueBase();
 }
 
@@ -147,15 +155,15 @@ ValueNode_Linear::get_local_name()const
 }
 
 bool
-ValueNode_Linear::check_type(ValueBase::Type type)
+ValueNode_Linear::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE		||
-		type==ValueBase::TYPE_COLOR		||
-		type==ValueBase::TYPE_INTEGER	||
-		type==ValueBase::TYPE_REAL		||
-		type==ValueBase::TYPE_TIME		||
-		type==ValueBase::TYPE_VECTOR	;
+		type==type_angle	||
+		type==type_color	||
+		type==type_integer	||
+		type==type_real		||
+		type==type_time		||
+		type==type_vector;
 }
 
 bool
@@ -189,20 +197,20 @@ ValueNode_Linear::get_children_vocab_vfunc()const
 
 	LinkableValueNode::Vocab ret;
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_angle
+	 || type == type_color
+	 || type == type_integer
+	 || type == type_real
+	 || type == type_time)
 	{
-	case ValueBase::TYPE_ANGLE:
-	case ValueBase::TYPE_COLOR:
-	case ValueBase::TYPE_INTEGER:
-	case ValueBase::TYPE_REAL:
-	case ValueBase::TYPE_TIME:
 		ret.push_back(ParamDesc(ValueBase(),"slope")
 			.set_local_name(_("Rate"))
 			.set_description(_("Value that is multiplied by the current time (in seconds)"))
 		);
-	break;
-	case ValueBase::TYPE_VECTOR:
-	default:
+	}
+	else
+	{
 		ret.push_back(ParamDesc(ValueBase(),"slope")
 			.set_local_name(_("Slope"))
 			.set_description(_("Value that is multiplied by the current time (in seconds)"))
diff --git a/src/synfig/valuenode_linear.h b/src/synfig/valuenode_linear.h
index 5b0f97c..439698d 100644
--- a/src/synfig/valuenode_linear.h
+++ b/src/synfig/valuenode_linear.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Linear* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Linear
diff --git a/src/synfig/valuenode_log.cpp b/src/synfig/valuenode_log.cpp
index c8ba571..a447a81 100644
--- a/src/synfig/valuenode_log.cpp
+++ b/src/synfig/valuenode_log.cpp
@@ -91,9 +91,9 @@ ValueNode_Logarithm::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(link_,     ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(epsilon_,  ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(infinite_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(link_,     type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(epsilon_,  type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(infinite_, type_real);
 	}
 	return false;
 }
@@ -142,9 +142,9 @@ ValueNode_Logarithm::get_local_name()const
 }
 
 bool
-ValueNode_Logarithm::check_type(ValueBase::Type type)
+ValueNode_Logarithm::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_log.h b/src/synfig/valuenode_log.h
index 285e69b..e9024f1 100644
--- a/src/synfig/valuenode_log.h
+++ b/src/synfig/valuenode_log.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Logarithm* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Logarithm
diff --git a/src/synfig/valuenode_not.cpp b/src/synfig/valuenode_not.cpp
index f00604a..fdd817a 100644
--- a/src/synfig/valuenode_not.cpp
+++ b/src/synfig/valuenode_not.cpp
@@ -86,7 +86,7 @@ ValueNode_Not::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(link_,     ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(link_, type_bool);
 	}
 	return false;
 }
@@ -124,9 +124,9 @@ ValueNode_Not::get_local_name()const
 }
 
 bool
-ValueNode_Not::check_type(ValueBase::Type type)
+ValueNode_Not::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BOOL;
+	return type==type_bool;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_not.h b/src/synfig/valuenode_not.h
index 9f6a247..a0c7680 100644
--- a/src/synfig/valuenode_not.h
+++ b/src/synfig/valuenode_not.h
@@ -64,7 +64,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Not* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Not
diff --git a/src/synfig/valuenode_or.cpp b/src/synfig/valuenode_or.cpp
index 3a6c9f8..1500852 100644
--- a/src/synfig/valuenode_or.cpp
+++ b/src/synfig/valuenode_or.cpp
@@ -89,8 +89,8 @@ ValueNode_Or::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(link1_,    ValueBase::TYPE_BOOL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(link2_,    ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(link1_, type_bool);
+	case 1: CHECK_TYPE_AND_SET_VALUE(link2_, type_bool);
 	}
 	return false;
 }
@@ -130,9 +130,9 @@ ValueNode_Or::get_local_name()const
 }
 
 bool
-ValueNode_Or::check_type(ValueBase::Type type)
+ValueNode_Or::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_BOOL;
+	return type==type_bool;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_or.h b/src/synfig/valuenode_or.h
index 7e7b813..8501a29 100644
--- a/src/synfig/valuenode_or.h
+++ b/src/synfig/valuenode_or.h
@@ -65,7 +65,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Or* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Or
diff --git a/src/synfig/valuenode_pow.cpp b/src/synfig/valuenode_pow.cpp
index 05539a4..c0cd338 100644
--- a/src/synfig/valuenode_pow.cpp
+++ b/src/synfig/valuenode_pow.cpp
@@ -91,10 +91,10 @@ ValueNode_Pow::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(base_,     ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(power_,    ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(epsilon_,  ValueBase::TYPE_REAL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(infinite_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(base_,     type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(power_,    type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(epsilon_,  type_real);
+	case 3: CHECK_TYPE_AND_SET_VALUE(infinite_, type_real);
 	}
 	return false;
 }
@@ -163,9 +163,9 @@ ValueNode_Pow::get_local_name()const
 }
 
 bool
-ValueNode_Pow::check_type(ValueBase::Type type)
+ValueNode_Pow::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_pow.h b/src/synfig/valuenode_pow.h
index 90f96b6..29133c0 100644
--- a/src/synfig/valuenode_pow.h
+++ b/src/synfig/valuenode_pow.h
@@ -68,7 +68,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Pow* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Pow
diff --git a/src/synfig/valuenode_radialcomposite.cpp b/src/synfig/valuenode_radialcomposite.cpp
index 131992f..6c74f5f 100644
--- a/src/synfig/valuenode_radialcomposite.cpp
+++ b/src/synfig/valuenode_radialcomposite.cpp
@@ -58,24 +58,25 @@ synfig::ValueNode_RadialComposite::ValueNode_RadialComposite(const ValueBase &va
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_vector)
 	{
-		case ValueBase::TYPE_VECTOR:
-		{
-			Vector vect(value.get(Vector()));
-			set_link("r",ValueNode_Const::create(vect.mag()));
-			set_link("t",ValueNode_Const::create(Angle(Angle::tan(vect[1],vect[0]))));
-		}
-			break;
-		case ValueBase::TYPE_COLOR:
-			set_link("y",ValueNode_Const::create(value.get(Color()).get_y()));
-			set_link("s",ValueNode_Const::create(value.get(Color()).get_s()));
-			set_link("h",ValueNode_Const::create(value.get(Color()).get_hue()));
-			set_link("a",ValueNode_Const::create(value.get(Color()).get_a()));
-			break;
-		default:
-			assert(0);
-			throw Exception::BadType(ValueBase::type_local_name(get_type()));
+		Vector vect(value.get(Vector()));
+		set_link("r",ValueNode_Const::create(vect.mag()));
+		set_link("t",ValueNode_Const::create(Angle(Angle::tan(vect[1],vect[0]))));
+	}
+	else
+	if (type == type_color)
+	{
+		set_link("y",ValueNode_Const::create(value.get(Color()).get_y()));
+		set_link("s",ValueNode_Const::create(value.get(Color()).get_s()));
+		set_link("h",ValueNode_Const::create(value.get(Color()).get_hue()));
+		set_link("a",ValueNode_Const::create(value.get(Color()).get_a()));
+	}
+	else
+	{
+		assert(0);
+		throw Exception::BadType(type.description.local_name);
 	}
 }
 
@@ -102,32 +103,31 @@ synfig::ValueNode_RadialComposite::operator()(Time t)const
 	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
 		printf("%s:%d operator()\n", __FILE__, __LINE__);
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_vector)
+	{
+		Real mag;
+		Angle angle;
+		assert(components[0] && components[1]);
+		mag=(*components[0])(t).get(mag);
+		angle=(*components[1])(t).get(angle);
+		return Vector(Angle::cos(angle).get()*mag,Angle::sin(angle).get()*mag);
+	}
+	else
+	if (type == type_color)
 	{
-		case ValueBase::TYPE_VECTOR:
-		{
-			Real mag;
-			Angle angle;
-			assert(components[0] && components[1]);
-			mag=(*components[0])(t).get(mag);
-			angle=(*components[1])(t).get(angle);
-			return Vector(Angle::cos(angle).get()*mag,Angle::sin(angle).get()*mag);
-		}
-		case ValueBase::TYPE_COLOR:
-		{
-			assert(components[0] && components[1] && components[2] && components[3]);
-			return Color::YUV(
-				(*components[0])(t).get(Real()),
-				(*components[1])(t).get(Real()),
-				(*components[2])(t).get(Angle()),
-				(*components[3])(t).get(Real())
-			);
-		}
-		default:
-			synfig::error(string("ValueNode_RadialComposite::operator():")+_("Bad type for radialcomposite"));
-			assert(components[0]);
-			return (*components[0])(t);
+		assert(components[0] && components[1] && components[2] && components[3]);
+		return Color::YUV(
+			(*components[0])(t).get(Real()),
+			(*components[1])(t).get(Real()),
+			(*components[2])(t).get(Angle()),
+			(*components[3])(t).get(Real())
+		);
 	}
+
+	synfig::error(string("ValueNode_RadialComposite::operator():")+_("Bad type for radialcomposite"));
+	assert(components[0]);
+	return (*components[0])(t);
 }
 
 bool
@@ -141,30 +141,27 @@ ValueNode_RadialComposite::set_link_vfunc(int i,ValueNode::Handle x)
 		return true;
 	}
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_vector)
 	{
-		case ValueBase::TYPE_VECTOR:
-			if(i==0 && x->get_type()!=ValueBase::TYPE_REAL)
-				return false;
-			if(i==1 && x->get_type()!=ValueBase::TYPE_ANGLE)
-				return false;
-			components[i]=x;
-			return true;
-			break;
-
-		case ValueBase::TYPE_COLOR:
-			if((i==0 || i==1 || i==3) && x->get_type()!=ValueBase::TYPE_REAL)
-				return false;
-			if((i==2) && x->get_type()!=ValueBase::TYPE_ANGLE)
-				return false;
-			components[i]=x;
-			return true;
-			break;
-
-
-		default:
-			break;
+		if(i==0 && x->get_type()!=type_real)
+			return false;
+		if(i==1 && x->get_type()!=type_angle)
+			return false;
+		components[i]=x;
+		return true;
 	}
+	else
+	if (type == type_color)
+	{
+		if((i==0 || i==1 || i==3) && x->get_type()!=type_real)
+			return false;
+		if((i==2) && x->get_type()!=type_angle)
+			return false;
+		components[i]=x;
+		return true;
+	}
+
 	return false;
 }
 
@@ -199,9 +196,9 @@ ValueNode_RadialComposite::get_link_index_from_name(const String &name)const
 	if(name[0]=='c' && name.size() == 2 && name[1]-'0' >= 0 && name[1]-'0' < link_count())
 		return name[1]-'0';
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_color)
 	{
-	case ValueBase::TYPE_COLOR:
 		if(name[0]=='y')
 			return 0;
 		if(name[0]=='s')
@@ -210,13 +207,14 @@ ValueNode_RadialComposite::get_link_index_from_name(const String &name)const
 			return 2;
 		if(name[0]=='a')
 			return 3;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		if(name[0]=='r')
 			return 0;
 		if(name[0]=='t')
 			return 1;
-	default:
-		break;
 	}
 
 	throw Exception::BadLinkName(name);
@@ -235,11 +233,11 @@ ValueNode_RadialComposite::get_local_name()const
 }
 
 bool
-ValueNode_RadialComposite::check_type(ValueBase::Type type)
+ValueNode_RadialComposite::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_VECTOR ||
-		type==ValueBase::TYPE_COLOR;
+		type==type_vector ||
+		type==type_color;
 }
 
 LinkableValueNode::Vocab
@@ -250,9 +248,9 @@ ValueNode_RadialComposite::get_children_vocab_vfunc()const
 
 	LinkableValueNode::Vocab ret;
 
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_color)
 	{
-	case ValueBase::TYPE_COLOR:
 		ret.push_back(ParamDesc(ValueBase(),"y_luma")
 		.set_local_name(_("Luma"))
 		);
@@ -266,8 +264,10 @@ ValueNode_RadialComposite::get_children_vocab_vfunc()const
 		.set_local_name(_("Saturation"))
 		);
 		return ret;
-		break;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		ret.push_back(ParamDesc(ValueBase(),"radius")
 		.set_local_name(_("Radius"))
 		.set_description(_("The length of the vector"))
@@ -277,9 +277,6 @@ ValueNode_RadialComposite::get_children_vocab_vfunc()const
 		.set_description(_("The angle of the vector with the X axis"))
 		);
 		return ret;
-		break;
-	default:
-		break;
 	}
 
 	return ret;
diff --git a/src/synfig/valuenode_radialcomposite.h b/src/synfig/valuenode_radialcomposite.h
index 779b6a5..28e2fff 100644
--- a/src/synfig/valuenode_radialcomposite.h
+++ b/src/synfig/valuenode_radialcomposite.h
@@ -62,7 +62,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
 	using synfig::LinkableValueNode::get_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_RadialComposite* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_RadialComposite
diff --git a/src/synfig/valuenode_range.cpp b/src/synfig/valuenode_range.cpp
index 25455ad..26fd4f4 100644
--- a/src/synfig/valuenode_range.cpp
+++ b/src/synfig/valuenode_range.cpp
@@ -60,39 +60,45 @@ synfig::ValueNode_Range::ValueNode_Range(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	ValueBase::Type id(value.get_type());
+	Type &type(value.get_type());
 
-	switch(id)
+	if (type == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("min",ValueNode_Const::create(value.get(Angle())));
 		set_link("max",ValueNode_Const::create(value.get(Angle())));
 		set_link("link",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	}
+	else
+	if (type == type_integer)
+	{
 		set_link("min",ValueNode_Const::create(value.get(int())));
 		set_link("max",ValueNode_Const::create(value.get(int())));
 		set_link("link",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	}
+	else
+	if (type == type_real)
+	{
 		set_link("min",ValueNode_Const::create(value.get(Real())));
 		set_link("max",ValueNode_Const::create(value.get(Real())));
 		set_link("link",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	}
+	else
+	if (type == type_time)
+	{
 		set_link("min",ValueNode_Const::create(value.get(Time())));
 		set_link("max",ValueNode_Const::create(value.get(Time())));
 		set_link("link",ValueNode_Const::create(value.get(Time())));
-		break;
-	default:
+	}
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
 	}
 
-	assert(min_->get_type()==id);
-	assert(max_->get_type()==id);
-	assert(link_->get_type()==id);
-	assert(get_type()==id);
+	assert(min_->get_type()==type);
+	assert(max_->get_type()==type);
+	assert(link_->get_type()==type);
+	assert(get_type()==type);
 }
 
 LinkableValueNode*
@@ -121,9 +127,8 @@ synfig::ValueNode_Range::operator()(Time t)const
 	if(!min_ || !max_ || !link_)
 		throw runtime_error(strprintf("ValueNode_Range: %s",_("Some of my parameters aren't set!")));
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 	{
 		Angle minimum = (* min_)(t).get(Angle());
 		Angle maximum = (* max_)(t).get(Angle());
@@ -147,53 +152,54 @@ synfig::ValueNode_Range::operator()(Time t)const
 		else
 			return maximum;
 	}
-	case ValueBase::TYPE_INTEGER:
+	else
+	if (type == type_integer)
 		return std::max((*min_)(t).get(int()),  std::min((*max_)(t).get(int()),  (*link_)(t).get(int())));
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 		return std::max((*min_)(t).get(Real()), std::min((*max_)(t).get(Real()), (*link_)(t).get(Real())));
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 		return std::max((*min_)(t).get(Time()), std::min((*max_)(t).get(Time()), (*link_)(t).get(Time())));
-	default:
-		assert(0);
-		break;
-	}
+
+	assert(0);
 	return ValueBase();
 }
 
 synfig::ValueBase
 synfig::ValueNode_Range::get_inverse(Time t, const synfig::Vector &target_value) const
 {
-	switch (get_type())
+	Type &type(get_type());
+	if (type == type_integer)
 	{
-		case ValueBase::TYPE_INTEGER:
-			{
-			int max_value((*max_)(t).get(int()));
-			int min_value((*min_)(t).get(int()));
-			return std::max(min_value, std::min(max_value, int(target_value.mag())));
-			}
-		case ValueBase::TYPE_REAL:
-			{
-			Real max_value((*max_)(t).get(Real()));
-			Real min_value((*min_)(t).get(Real()));
-			return std::max(min_value, std::min(max_value, target_value.mag()));
-			}
-		case ValueBase::TYPE_ANGLE:
-			{
-			Angle max_value((*max_)(t).get(Angle()));
-			Angle min_value((*min_)(t).get(Angle()));
-			Angle target_angle(Angle::tan(target_value[1],target_value[0]));
-			return target_angle>max_value?max_value:target_angle<min_value?min_value:target_angle;
-			}
-		case ValueBase::TYPE_TIME:
-			{
-			Real max_value((*max_)(t).get(Time()));
-			Real min_value((*min_)(t).get(Time()));
-			return std::max(min_value, std::min(max_value, target_value.mag()));
-			}
-		default:
-			return target_value;
+		int max_value((*max_)(t).get(int()));
+		int min_value((*min_)(t).get(int()));
+		return std::max(min_value, std::min(max_value, int(target_value.mag())));
 	}
-	return ValueBase();
+	else
+	if (type == type_real)
+	{
+		Real max_value((*max_)(t).get(Real()));
+		Real min_value((*min_)(t).get(Real()));
+		return std::max(min_value, std::min(max_value, target_value.mag()));
+	}
+	else
+	if (type == type_angle)
+	{
+		Angle max_value((*max_)(t).get(Angle()));
+		Angle min_value((*min_)(t).get(Angle()));
+		Angle target_angle(Angle::tan(target_value[1],target_value[0]));
+		return target_angle>max_value?max_value:target_angle<min_value?min_value:target_angle;
+	}
+	else
+	if (type == type_time)
+	{
+		Real max_value((*max_)(t).get(Time()));
+		Real min_value((*min_)(t).get(Time()));
+		return std::max(min_value, std::min(max_value, target_value.mag()));
+	}
+
+	return target_value;
 }
 
 synfig::ValueBase
@@ -202,17 +208,12 @@ synfig::ValueNode_Range::get_inverse(Time t, const synfig::Angle &target_value)
 	Angle minimum = (* min_)(t).get(Angle());
 	Angle maximum = (* max_)(t).get(Angle());
 	// Angle link = (*link_)(t).get(Angle());
-		switch (get_type())
-		{
-			default:
-
-		if(Angle::rad(maximum).get()>=Angle::rad(target_value).get() && Angle::rad(target_value).get()>=Angle::rad(minimum).get())
-			return target_value;
-		else if (Angle::rad(minimum).get()>Angle::rad(target_value).get())
-			return minimum;
-		else
-			return maximum;
-		}
+	if(Angle::rad(maximum).get()>=Angle::rad(target_value).get() && Angle::rad(target_value).get()>=Angle::rad(minimum).get())
+		return target_value;
+	else if (Angle::rad(minimum).get()>Angle::rad(target_value).get())
+		return minimum;
+	else
+		return maximum;
 	return ValueBase();
 }
 
@@ -258,12 +259,12 @@ ValueNode_Range::get_local_name()const
 }
 
 bool
-ValueNode_Range::check_type(ValueBase::Type type)
+ValueNode_Range::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_ANGLE
-		|| type==ValueBase::TYPE_INTEGER
-		|| type==ValueBase::TYPE_REAL
-		|| type==ValueBase::TYPE_TIME;
+	return type==type_angle
+		|| type==type_integer
+		|| type==type_real
+		|| type==type_time;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_range.h b/src/synfig/valuenode_range.h
index 892ae23..02ac732 100644
--- a/src/synfig/valuenode_range.h
+++ b/src/synfig/valuenode_range.h
@@ -69,7 +69,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Range* create(const ValueBase &value=ValueBase());
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Range
diff --git a/src/synfig/valuenode_real.cpp b/src/synfig/valuenode_real.cpp
index 5c0a88e..cb163b5 100644
--- a/src/synfig/valuenode_real.cpp
+++ b/src/synfig/valuenode_real.cpp
@@ -53,7 +53,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Real::ValueNode_Real(const ValueBase::Type &x):
+ValueNode_Real::ValueNode_Real(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -63,20 +63,19 @@ ValueNode_Real::ValueNode_Real(const ValueBase &x):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(x.get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(x.get_type());
+	if (type == type_angle)
 		set_link("link", ValueNode_Const::create(Angle::deg(x.get(Angle())).get()));
-		break;
-	case ValueBase::TYPE_BOOL:
+	else
+	if (type == type_bool)
 		set_link("link", ValueNode_Const::create(float(x.get(bool()))));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	else
+	if (type == type_integer)
 		set_link("link", ValueNode_Const::create(float(x.get(int()))));
-		break;
-	default:
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(x.get_type()));
+		throw runtime_error(get_local_name()+_(":Bad type ")+x.get_type().description.local_name);
 	}
 }
 
@@ -104,7 +103,7 @@ ValueNode_Real::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(real_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(real_, type_real);
 	}
 	return false;
 }
@@ -127,18 +126,16 @@ ValueNode_Real::operator()(Time t)const
 
 	float real = (*real_)(t).get(float());
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return Angle::deg(real);
-	case ValueBase::TYPE_BOOL:
+	if (type == type_bool)
 		return bool(real);
-	case ValueBase::TYPE_INTEGER:
+	if (type == type_integer)
 		return int(real);
-	default:
-		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(get_type()));
-	}
+
+	assert(0);
+	throw runtime_error(get_local_name()+_(":Bad type ")+get_type().description.local_name);
 }
 
 synfig::ValueBase
@@ -162,12 +159,12 @@ ValueNode_Real::get_local_name()const
 }
 
 bool
-ValueNode_Real::check_type(ValueBase::Type type __attribute__ ((unused)))
+ValueNode_Real::check_type(Type &type __attribute__ ((unused)))
 {
 	return
-		type==ValueBase::TYPE_ANGLE ||
-		type==ValueBase::TYPE_BOOL  ||
-		type==ValueBase::TYPE_INTEGER;
+		type==type_angle ||
+		type==type_bool  ||
+		type==type_integer;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_real.h b/src/synfig/valuenode_real.h
index fc16626..004adae 100644
--- a/src/synfig/valuenode_real.h
+++ b/src/synfig/valuenode_real.h
@@ -46,7 +46,7 @@ public:
 	typedef etl::handle<ValueNode_Real> Handle;
 	typedef etl::handle<const ValueNode_Real> ConstHandle;
 
-	ValueNode_Real(const ValueBase::Type &x);
+	ValueNode_Real(Type &x);
 	ValueNode_Real(const ValueBase &x);
 
 	virtual ValueBase operator()(Time t)const;
@@ -69,7 +69,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Real* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Real
diff --git a/src/synfig/valuenode_realstring.cpp b/src/synfig/valuenode_realstring.cpp
index 3736fc8..adba91c 100644
--- a/src/synfig/valuenode_realstring.cpp
+++ b/src/synfig/valuenode_realstring.cpp
@@ -57,16 +57,16 @@ ValueNode_RealString::ValueNode_RealString(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_string)
 	{
-	case ValueBase::TYPE_STRING:
 		set_link("real",ValueNode_Const::create(Real(0)));
 		set_link("width",ValueNode_Const::create(int(0)));
 		set_link("precision",ValueNode_Const::create(int(3)));
 		set_link("zero_pad",ValueNode_Const::create(bool(false)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -98,16 +98,11 @@ ValueNode_RealString::operator()(Time t)const
 	int precision((*precision_)(t).get(int()));
 	int zero_pad((*zero_pad_)(t).get(bool()));
 
-	switch (get_type())
-	{
-	case ValueBase::TYPE_STRING:
+	if (get_type() == type_string)
 		return strprintf(strprintf("%%%s%d.%df",
 								   zero_pad ? "0" : "",
 								   width,
 								   precision).c_str(), real);
-	default:
-		break;
-	}
 
 	assert(0);
 	return ValueBase();
@@ -132,10 +127,10 @@ ValueNode_RealString::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(real_, ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(width_, ValueBase::TYPE_INTEGER);
-	case 2: CHECK_TYPE_AND_SET_VALUE(precision_, ValueBase::TYPE_INTEGER);
-	case 3: CHECK_TYPE_AND_SET_VALUE(zero_pad_, ValueBase::TYPE_BOOL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(real_, type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(width_, type_integer);
+	case 2: CHECK_TYPE_AND_SET_VALUE(precision_, type_integer);
+	case 3: CHECK_TYPE_AND_SET_VALUE(zero_pad_, type_bool);
 	}
 	return false;
 }
@@ -157,10 +152,10 @@ ValueNode_RealString::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_RealString::check_type(ValueBase::Type type)
+ValueNode_RealString::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_STRING;
+		type==type_string;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_realstring.h b/src/synfig/valuenode_realstring.h
index 240d29b..bab6ece 100644
--- a/src/synfig/valuenode_realstring.h
+++ b/src/synfig/valuenode_realstring.h
@@ -69,7 +69,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_RealString* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_RealString
diff --git a/src/synfig/valuenode_reciprocal.cpp b/src/synfig/valuenode_reciprocal.cpp
index 12609e9..aeb7b25 100644
--- a/src/synfig/valuenode_reciprocal.cpp
+++ b/src/synfig/valuenode_reciprocal.cpp
@@ -94,9 +94,9 @@ ValueNode_Reciprocal::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(link_,     ValueBase::TYPE_REAL);
-	case 1: CHECK_TYPE_AND_SET_VALUE(epsilon_,  ValueBase::TYPE_REAL);
-	case 2: CHECK_TYPE_AND_SET_VALUE(infinite_, ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(link_,     type_real);
+	case 1: CHECK_TYPE_AND_SET_VALUE(epsilon_,  type_real);
+	case 2: CHECK_TYPE_AND_SET_VALUE(infinite_, type_real);
 	}
 	return false;
 }
@@ -148,9 +148,9 @@ ValueNode_Reciprocal::get_local_name()const
 }
 
 bool
-ValueNode_Reciprocal::check_type(ValueBase::Type type)
+ValueNode_Reciprocal::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_reciprocal.h b/src/synfig/valuenode_reciprocal.h
index 965a944..1e85830 100644
--- a/src/synfig/valuenode_reciprocal.h
+++ b/src/synfig/valuenode_reciprocal.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Reciprocal* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Reciprocal
diff --git a/src/synfig/valuenode_reference.cpp b/src/synfig/valuenode_reference.cpp
index eba9c0e..419b056 100644
--- a/src/synfig/valuenode_reference.cpp
+++ b/src/synfig/valuenode_reference.cpp
@@ -51,7 +51,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Reference::ValueNode_Reference(const ValueBase::Type &x):
+ValueNode_Reference::ValueNode_Reference(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -124,9 +124,9 @@ ValueNode_Reference::get_local_name()const
 }
 
 bool
-ValueNode_Reference::check_type(ValueBase::Type type)
+ValueNode_Reference::check_type(Type &type)
 {
-	if(type)
+	if(type != type_nil)
 		return true;
 	return false;
 }
diff --git a/src/synfig/valuenode_reference.h b/src/synfig/valuenode_reference.h
index cc56a03..fbdef4d 100644
--- a/src/synfig/valuenode_reference.h
+++ b/src/synfig/valuenode_reference.h
@@ -43,11 +43,11 @@ public:
 	typedef etl::handle<ValueNode_Reference> Handle;
 	typedef etl::handle<const ValueNode_Reference> ConstHandle;
 
-	ValueNode_Reference(const ValueBase::Type &x);
+	ValueNode_Reference(Type &x);
 
 	ValueNode_Reference(const ValueNode::Handle &x);
 
-//	static Handle create(const ValueBase::Type &x);
+//	static Handle create(Type &x);
 //	static Handle create(const ValueNode::Handle &x);
 
 
@@ -68,7 +68,7 @@ protected:
 
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Reference* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Reference
diff --git a/src/synfig/valuenode_repeat_gradient.cpp b/src/synfig/valuenode_repeat_gradient.cpp
index f114fbc..837ae87 100644
--- a/src/synfig/valuenode_repeat_gradient.cpp
+++ b/src/synfig/valuenode_repeat_gradient.cpp
@@ -54,7 +54,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-synfig::ValueNode_Repeat_Gradient::ValueNode_Repeat_Gradient(const Gradient& x):LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
+synfig::ValueNode_Repeat_Gradient::ValueNode_Repeat_Gradient(const Gradient& x):LinkableValueNode(synfig::type_gradient)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
@@ -76,17 +76,17 @@ ValueNode_Repeat_Gradient::create_new()const
 ValueNode_Repeat_Gradient*
 ValueNode_Repeat_Gradient::create(const ValueBase& x)
 {
-	ValueBase::Type id(x.get_type());
+	Type &type(x.get_type());
 
-	if(id!=ValueBase::TYPE_GRADIENT)
+	if(type!=type_gradient)
 	{
 		assert(0);
-		throw runtime_error(String(_("Repeat Gradient"))+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(String(_("Repeat Gradient"))+_(":Bad type ")+type.description.local_name);
 	}
 
 	ValueNode_Repeat_Gradient* value_node=new ValueNode_Repeat_Gradient(x.get(Gradient()));
 
-	assert(value_node->get_type()==id);
+	assert(value_node->get_type()==type);
 
 	return value_node;
 }
@@ -145,12 +145,12 @@ ValueNode_Repeat_Gradient::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(gradient_,	     get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(count_,		 ValueBase::TYPE_INTEGER);
-	case 2: CHECK_TYPE_AND_SET_VALUE(width_,		 ValueBase::TYPE_REAL);
-	case 3: CHECK_TYPE_AND_SET_VALUE(specify_start_, ValueBase::TYPE_BOOL);
-	case 4: CHECK_TYPE_AND_SET_VALUE(specify_end_,   ValueBase::TYPE_BOOL);
-	case 5: CHECK_TYPE_AND_SET_VALUE(start_color_,   ValueBase::TYPE_COLOR);
-	case 6: CHECK_TYPE_AND_SET_VALUE(end_color_,     ValueBase::TYPE_COLOR);
+	case 1: CHECK_TYPE_AND_SET_VALUE(count_,		 type_integer);
+	case 2: CHECK_TYPE_AND_SET_VALUE(width_,		 type_real);
+	case 3: CHECK_TYPE_AND_SET_VALUE(specify_start_, type_bool);
+	case 4: CHECK_TYPE_AND_SET_VALUE(specify_end_,   type_bool);
+	case 5: CHECK_TYPE_AND_SET_VALUE(start_color_,   type_color);
+	case 6: CHECK_TYPE_AND_SET_VALUE(end_color_,     type_color);
 	}
 	return false;
 }
@@ -186,9 +186,9 @@ ValueNode_Repeat_Gradient::get_local_name()const
 }
 
 bool
-ValueNode_Repeat_Gradient::check_type(ValueBase::Type type)
+ValueNode_Repeat_Gradient::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_GRADIENT;
+	return type==type_gradient;
 }
 
 LinkableValueNode::Vocab
@@ -211,7 +211,7 @@ ValueNode_Repeat_Gradient::get_children_vocab_vfunc()const
 
 	ret.push_back(ParamDesc(ValueBase(),"width")
 		.set_local_name(_("Width"))
-		.set_description(_("Specifies how much biased is the source gradeint in the repetition [0,1]"))
+		.set_description(_("Specifies how much biased is the source gradient in the repetition [0,1]"))
 	);
 
 	ret.push_back(ParamDesc(ValueBase(),"specify_start")
diff --git a/src/synfig/valuenode_repeat_gradient.h b/src/synfig/valuenode_repeat_gradient.h
index f0595e8..c48a503 100644
--- a/src/synfig/valuenode_repeat_gradient.h
+++ b/src/synfig/valuenode_repeat_gradient.h
@@ -69,15 +69,15 @@ public:
 	virtual String get_name()const;
 	virtual String get_local_name()const;
 
-//	static bool check_type(const ValueBase::Type &type);
+//	static bool check_type(Type &type);
 
 	LinkableValueNode* create_new()const;
 
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_Repeat_Gradient* create(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	static bool check_type(Type &type);
+	static ValueNode_Repeat_Gradient* create(const ValueBase &x=type_gradient);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Repeat_Gradient
 
diff --git a/src/synfig/valuenode_scale.cpp b/src/synfig/valuenode_scale.cpp
index 855ecd8..752690b 100644
--- a/src/synfig/valuenode_scale.cpp
+++ b/src/synfig/valuenode_scale.cpp
@@ -63,36 +63,34 @@ ValueNode_Scale::ValueNode_Scale(const ValueBase &value):
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
 	set_link("scalar",ValueNode::Handle(ValueNode_Const::create(Real(1.0))));
-	ValueBase::Type id(value.get_type());
+	Type &type(value.get_type());
 
-	switch(id)
-	{
-	case ValueBase::TYPE_ANGLE:
+	if (type == type_angle)
 		set_link("link",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_COLOR:
+	else
+	if (type == type_color)
 		set_link("link",ValueNode_Const::create(value.get(Color())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	else
+	if (type == type_integer)
 		set_link("link",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 		set_link("link",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 		set_link("link",ValueNode_Const::create(value.get(Time())));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	else
+	if (type == type_vector)
 		set_link("link",ValueNode_Const::create(value.get(Vector())));
-		break;
-	default:
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
 	}
 
 	assert(value_node);
-	assert(value_node->get_type()==id);
-	assert(get_type()==id);
+	assert(value_node->get_type()==type);
+	assert(get_type()==type);
 }
 
 LinkableValueNode*
@@ -120,9 +118,9 @@ synfig::ValueNode_Scale::operator()(Time t)const
 
 	if(!value_node || !scalar)
 		throw runtime_error(strprintf("ValueNode_Scale: %s",_("One or both of my parameters aren't set!")));
-	else if(get_type()==ValueBase::TYPE_ANGLE)
+	else if(get_type()==type_angle)
 		return (*value_node)(t).get(Angle())*(*scalar)(t).get(Real());
-	else if(get_type()==ValueBase::TYPE_COLOR)
+	else if(get_type()==type_color)
 	{
 		Color ret((*value_node)(t).get(Color()));
 		Real s((*scalar)(t).get(Real()));
@@ -131,13 +129,13 @@ synfig::ValueNode_Scale::operator()(Time t)const
 		ret.set_b(ret.get_b()*s);
 		return ret;
 	}
-	else if(get_type()==ValueBase::TYPE_INTEGER)
+	else if(get_type()==type_integer)
 		return round_to_int((*value_node)(t).get(int())*(*scalar)(t).get(Real()));
-	else if(get_type()==ValueBase::TYPE_REAL)
+	else if(get_type()==type_real)
 		return (*value_node)(t).get(Real())*(*scalar)(t).get(Real());
-	else if(get_type()==ValueBase::TYPE_TIME)
+	else if(get_type()==type_time)
 		return (*value_node)(t).get(Time())*(*scalar)(t).get(Time());
-	else if(get_type()==ValueBase::TYPE_VECTOR)
+	else if(get_type()==type_vector)
 		return (*value_node)(t).get(Vector())*(*scalar)(t).get(Real());
 
 	assert(0);
@@ -152,15 +150,11 @@ synfig::ValueNode_Scale::get_inverse(Time t, const synfig::Vector &target_value)
 			throw runtime_error(strprintf("ValueNode_Scale: %s",_("Attempting to get the inverse of a non invertible Valuenode")));
 	else
 		{
-			switch (get_type())
-			{
-				case ValueBase::TYPE_REAL:
-					return target_value.mag() / scalar_value;
-				case ValueBase::TYPE_ANGLE:
-					return Angle::tan(target_value[1] / scalar_value ,target_value[0] / scalar_value);
-				default:
-					return target_value / scalar_value;
-			}
+			if (get_type() == type_real)
+				return target_value.mag() / scalar_value;
+			if (get_type() == type_angle)
+				return Angle::tan(target_value[1] / scalar_value ,target_value[0] / scalar_value);
+			return target_value / scalar_value;
 		}
 	return ValueBase();
 }
@@ -170,15 +164,9 @@ synfig::ValueNode_Scale::get_inverse(Time t, const synfig::Angle &target_value)
 {
 	Real scalar_value((*scalar)(t).get(Real()));
 	if(scalar_value==0)
-			throw runtime_error(strprintf("ValueNode_Scale: %s",_("Attempting to get the inverse of a non invertible Valuenode")));
+		throw runtime_error(strprintf("ValueNode_Scale: %s",_("Attempting to get the inverse of a non invertible Valuenode")));
 	else
-		{
-			switch (get_type())
-			{
-					default:
-					return target_value / scalar_value;
-			}
-		}
+		return target_value / scalar_value;
 	return ValueBase();
 }
 
@@ -187,15 +175,9 @@ synfig::ValueNode_Scale::get_inverse(Time t, const synfig::Real &target_value) c
 {
 	Real scalar_value((*scalar)(t).get(Real()));
 	if(scalar_value==0)
-			throw runtime_error(strprintf("ValueNode_Scale: %s",_("Attempting to get the inverse of a non invertible Valuenode")));
+		throw runtime_error(strprintf("ValueNode_Scale: %s",_("Attempting to get the inverse of a non invertible Valuenode")));
 	else
-		{
-			switch (get_type())
-			{
-					default:
-					return target_value / scalar_value;
-			}
-		}
+		return target_value / scalar_value;
 	return ValueBase();
 }
 
@@ -203,7 +185,7 @@ bool
 synfig::ValueNode_Scale::is_invertible(Time t) const
 {
 	Real scalar_value((*scalar)(t).get(Real()));
-	return (!scalar_value==0);
+	return (!(scalar_value==0));
 }
 
 bool
@@ -214,7 +196,7 @@ ValueNode_Scale::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(value_node, get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(scalar,     ValueBase::TYPE_REAL);
+	case 1: CHECK_TYPE_AND_SET_VALUE(scalar,     type_real);
 	}
 	return false;
 }
@@ -244,15 +226,15 @@ ValueNode_Scale::get_local_name()const
 }
 
 bool
-ValueNode_Scale::check_type(ValueBase::Type type)
+ValueNode_Scale::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE ||
-		type==ValueBase::TYPE_COLOR ||
-		type==ValueBase::TYPE_INTEGER ||
-		type==ValueBase::TYPE_REAL ||
-		type==ValueBase::TYPE_TIME ||
-		type==ValueBase::TYPE_VECTOR;
+		type==type_angle	||
+		type==type_color	||
+		type==type_integer	||
+		type==type_real		||
+		type==type_time		||
+		type==type_vector;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_scale.h b/src/synfig/valuenode_scale.h
index d642b32..92f0545 100644
--- a/src/synfig/valuenode_scale.h
+++ b/src/synfig/valuenode_scale.h
@@ -50,7 +50,7 @@ private:
 
 public:
 
-	//static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL);
+	//static Handle create(Type &type=type_nil);
 
 	//static Handle create(ValueNode::Handle value_node, Real scalar);
 
@@ -79,7 +79,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Scale* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Scale
diff --git a/src/synfig/valuenode_segcalctangent.cpp b/src/synfig/valuenode_segcalctangent.cpp
index 41a2242..8e8d6d1 100644
--- a/src/synfig/valuenode_segcalctangent.cpp
+++ b/src/synfig/valuenode_segcalctangent.cpp
@@ -56,15 +56,15 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_SegCalcTangent::ValueNode_SegCalcTangent(const ValueBase::Type &x):
+ValueNode_SegCalcTangent::ValueNode_SegCalcTangent(Type &x):
 	LinkableValueNode(x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x!=ValueBase::TYPE_VECTOR)
-		throw Exception::BadType(ValueBase::type_local_name(x));
+	if(x!=type_vector)
+		throw Exception::BadType(x.description.local_name);
 
-	set_link("segment",ValueNode_Const::create(ValueBase::TYPE_SEGMENT));
+	set_link("segment",ValueNode_Const::create(type_segment));
 	set_link("amount",ValueNode_Const::create(Real(0.5)));
 }
 
@@ -107,9 +107,9 @@ ValueNode_SegCalcTangent::get_local_name()const
 }
 
 bool
-ValueNode_SegCalcTangent::check_type(ValueBase::Type type)
+ValueNode_SegCalcTangent::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_VECTOR;
+	return type==type_vector;
 }
 
 bool
@@ -119,8 +119,8 @@ ValueNode_SegCalcTangent::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(segment_, ValueBase::TYPE_SEGMENT);
-	case 1: CHECK_TYPE_AND_SET_VALUE(amount_,  ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(segment_, type_segment);
+	case 1: CHECK_TYPE_AND_SET_VALUE(amount_,  type_real);
 	}
 	return false;
 }
@@ -141,7 +141,7 @@ ValueNode_SegCalcTangent::get_link_vfunc(int i)const
 LinkableValueNode*
 ValueNode_SegCalcTangent::create_new()const
 {
-	return new ValueNode_SegCalcTangent(ValueBase::TYPE_VECTOR);
+	return new ValueNode_SegCalcTangent(type_vector);
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_segcalctangent.h b/src/synfig/valuenode_segcalctangent.h
index dc7cb8f..666fb2e 100644
--- a/src/synfig/valuenode_segcalctangent.h
+++ b/src/synfig/valuenode_segcalctangent.h
@@ -41,14 +41,14 @@ class ValueNode_SegCalcTangent : public LinkableValueNode
 	ValueNode::RHandle segment_;
 	ValueNode::RHandle amount_;
 
-	ValueNode_SegCalcTangent(const ValueBase::Type &x=ValueBase::TYPE_VECTOR);
+	ValueNode_SegCalcTangent(Type &x=type_vector);
 
 public:
 
 	typedef etl::handle<ValueNode_SegCalcTangent> Handle;
 	typedef etl::handle<const ValueNode_SegCalcTangent> ConstHandle;
 
-	//static Handle create(const ValueBase::Type &x=ValueBase::TYPE_VECTOR);
+	//static Handle create(Type &x=type_vector);
 
 
 	virtual ValueBase operator()(Time t)const;
@@ -67,8 +67,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_SegCalcTangent* create(const ValueBase &x=ValueBase::TYPE_VECTOR);
+	static bool check_type(Type &type);
+	static ValueNode_SegCalcTangent* create(const ValueBase &x=type_vector);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_SegCalcTangent
 
diff --git a/src/synfig/valuenode_segcalcvertex.cpp b/src/synfig/valuenode_segcalcvertex.cpp
index 857444d..89eebb6 100644
--- a/src/synfig/valuenode_segcalcvertex.cpp
+++ b/src/synfig/valuenode_segcalcvertex.cpp
@@ -55,15 +55,15 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_SegCalcVertex::ValueNode_SegCalcVertex(const ValueBase::Type &x):
+ValueNode_SegCalcVertex::ValueNode_SegCalcVertex(Type &x):
 	LinkableValueNode(x)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	if(x!=ValueBase::TYPE_VECTOR)
-		throw Exception::BadType(ValueBase::type_local_name(x));
+	if(x!=type_vector)
+		throw Exception::BadType(x.description.local_name);
 
-	set_link("segment",ValueNode_Const::create(ValueBase::TYPE_SEGMENT));
+	set_link("segment",ValueNode_Const::create(type_segment));
 	set_link("amount",ValueNode_Const::create(Real(0.5)));
 }
 
@@ -105,9 +105,9 @@ ValueNode_SegCalcVertex::get_local_name()const
 }
 
 bool
-ValueNode_SegCalcVertex::check_type(ValueBase::Type type)
+ValueNode_SegCalcVertex::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_VECTOR;
+	return type==type_vector;
 }
 
 bool
@@ -117,8 +117,8 @@ ValueNode_SegCalcVertex::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(segment_, ValueBase::TYPE_SEGMENT);
-	case 1: CHECK_TYPE_AND_SET_VALUE(amount_,  ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(segment_, type_segment);
+	case 1: CHECK_TYPE_AND_SET_VALUE(amount_,  type_real);
 	}
 	return false;
 }
@@ -139,7 +139,7 @@ ValueNode_SegCalcVertex::get_link_vfunc(int i)const
 LinkableValueNode*
 ValueNode_SegCalcVertex::create_new()const
 {
-	return new ValueNode_SegCalcVertex(ValueBase::TYPE_VECTOR);
+	return new ValueNode_SegCalcVertex(type_vector);
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_segcalcvertex.h b/src/synfig/valuenode_segcalcvertex.h
index cb6869f..4d00ec3 100644
--- a/src/synfig/valuenode_segcalcvertex.h
+++ b/src/synfig/valuenode_segcalcvertex.h
@@ -41,7 +41,7 @@ class ValueNode_SegCalcVertex : public LinkableValueNode
 	ValueNode::RHandle segment_;
 	ValueNode::RHandle amount_;
 
-	ValueNode_SegCalcVertex(const ValueBase::Type &x=ValueBase::TYPE_VECTOR);
+	ValueNode_SegCalcVertex(Type &x=type_vector);
 
 public:
 
@@ -64,8 +64,8 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_SegCalcVertex* create(const ValueBase &x=ValueBase::TYPE_VECTOR);
+	static bool check_type(Type &type);
+	static ValueNode_SegCalcVertex* create(const ValueBase &x=type_vector);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_SegCalcVertex
 
diff --git a/src/synfig/valuenode_sine.cpp b/src/synfig/valuenode_sine.cpp
index aee3325..1f9ac4e 100644
--- a/src/synfig/valuenode_sine.cpp
+++ b/src/synfig/valuenode_sine.cpp
@@ -56,14 +56,14 @@ ValueNode_Sine::ValueNode_Sine(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_real)
 	{
-	case ValueBase::TYPE_REAL:
 		set_link("angle",ValueNode_Const::create(Angle::deg(90)));
 		set_link("amp",ValueNode_Const::create(value.get(Real())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -111,9 +111,9 @@ ValueNode_Sine::get_local_name()const
 }
 
 bool
-ValueNode_Sine::check_type(ValueBase::Type type)
+ValueNode_Sine::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 bool
@@ -123,8 +123,8 @@ ValueNode_Sine::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, ValueBase::TYPE_ANGLE);
-	case 1: CHECK_TYPE_AND_SET_VALUE(amp_,   ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(angle_, type_angle);
+	case 1: CHECK_TYPE_AND_SET_VALUE(amp_,   type_real);
 	}
 	return false;
 }
diff --git a/src/synfig/valuenode_sine.h b/src/synfig/valuenode_sine.h
index 7e9ac7e..a03ec06 100644
--- a/src/synfig/valuenode_sine.h
+++ b/src/synfig/valuenode_sine.h
@@ -67,7 +67,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Sine* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Sine
diff --git a/src/synfig/valuenode_staticlist.cpp b/src/synfig/valuenode_staticlist.cpp
index 53a580d..a1890b3 100644
--- a/src/synfig/valuenode_staticlist.cpp
+++ b/src/synfig/valuenode_staticlist.cpp
@@ -41,6 +41,7 @@
 #include <list>
 #include <algorithm>
 #include "canvas.h"
+#include "pair.h"
 
 #endif
 
@@ -78,39 +79,38 @@ ValueNode_StaticList::create_list_entry(int index, Time time, Real origin) // li
 	else
 		prev=next;
 
-	switch(get_contained_type())
-	{
-	case ValueBase::TYPE_VECTOR:
+	Type &type(get_contained_type());
+	if (type == type_vector)
 	{
 		Vector a(prev.get(Vector())), b(next.get(Vector()));
 		ret=ValueNode_Const::create((b-a)*origin+a);
-		break;
 	}
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 	{
 		Real a(prev.get(Real())), b(next.get(Real()));
 		ret=ValueNode_Const::create((b-a)*origin+a);
-		break;
 	}
-	case ValueBase::TYPE_COLOR:
+	else
+	if (type == type_color)
 	{
 		Color a(prev.get(Color())), b(next.get(Color()));
 		ret=ValueNode_Composite::create((b-a)*origin+a);
-		break;
 	}
-	case ValueBase::TYPE_ANGLE:
+	else
+	if (type == type_angle)
 	{
 		Angle a(prev.get(Angle())), b(next.get(Angle()));
 		ret=ValueNode_Const::create((b-a)*origin+a);
-		break;
 	}
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 	{
 		Time a(prev.get(Time())), b(next.get(Time()));
 		ret=ValueNode_Const::create((b-a)*origin+a);
-		break;
 	}
-	case ValueBase::TYPE_BONE:
+	else
+	if (type == type_bone_object)
 	{
 		ValueNode::Handle value_node(list[index]);
 		if (ValueNode_Bone::Handle value_node_bone = ValueNode_Bone::Handle::cast_dynamic(value_node))
@@ -119,23 +119,74 @@ ValueNode_StaticList::create_list_entry(int index, Time time, Real origin) // li
 			new_bone.set_parent(value_node_bone.get());
 
 			Real length(next.get(Bone()).get_length());
+			Real width(next.get(Bone()).get_tipwidth());
+			Real depth(next.get(Bone()).get_depth());
 			new_bone.set_origin(Point(1.1*length,0));
-			new_bone.set_origin0(Point(1.1*length,0));
+			new_bone.set_width(width);
+			new_bone.set_tipwidth(width);
+			new_bone.set_depth(depth);
 
 			ret=ValueNode_Const::create(new_bone, get_parent_canvas());
 		}
 		else
-			ret=ValueNode_Const::create(ValueBase::TYPE_BONE, get_parent_canvas());
-		break;
+			ret=ValueNode_Const::create(type_bone_object, get_parent_canvas());
 	}
-	case ValueBase::TYPE_BONE_WEIGHT_PAIR:
+	else
+	if (type == type_bone_weight_pair)
 	{
 		ret=ValueNode_Const::create(BoneWeightPair(Bone(), next.get(BoneWeightPair()).get_weight()), get_parent_canvas());
-		break;
 	}
-	default:
+	else
+	if (type == types_namespace::TypePair<Bone, Bone>::instance)
+	{
+		ValueNode::Handle value_node(list[index]);
+		if (ValueNode_Composite::Handle value_node_composite = ValueNode_Composite::Handle::cast_dynamic(value_node))
+		{
+			ValueNode_Bone::Handle fisrt_bone_node = ValueNode_Bone::Handle::cast_dynamic(value_node_composite->get_link("first"));
+			ValueNode_Bone::Handle second_bone_node = ValueNode_Bone::Handle::cast_dynamic(value_node_composite->get_link("second"));
+			if (fisrt_bone_node && second_bone_node)
+			{
+				std::pair<Bone, Bone> new_pair;
+
+				{ // first
+					ValueNode_Bone::Handle &value_node_bone = fisrt_bone_node;
+					Bone &new_bone = new_pair.first;
+
+					const Bone &bone = (*value_node_bone)(time).get(Bone());
+					new_bone.set_parent(value_node_bone.get());
+					Real length(bone.get_length());
+					Real width(bone.get_tipwidth());
+					Real depth(bone.get_depth());
+					new_bone.set_origin(Point(1.1*length,0));
+					new_bone.set_width(width);
+					new_bone.set_tipwidth(width);
+					new_bone.set_depth(depth);
+				}
+
+				{ // second
+					ValueNode_Bone::Handle &value_node_bone = second_bone_node;
+					Bone &new_bone = new_pair.second;
+
+					const Bone &bone = (*value_node_bone)(time).get(Bone());
+					new_bone.set_parent(value_node_bone.get());
+					Real length(bone.get_length());
+					Real width(bone.get_tipwidth());
+					Real depth(bone.get_depth());
+					new_bone.set_origin(Point(1.1*length,0));
+					new_bone.set_width(width);
+					new_bone.set_tipwidth(width);
+					new_bone.set_depth(depth);
+				}
+
+				ret=ValueNode_Const::create(new_pair, get_parent_canvas());
+			}
+		}
+		else
+			ret=ValueNode_Const::create(type_bone_object, get_parent_canvas());
+	}
+	else
+	{
 		ret=ValueNode_Const::create(get_contained_type(), get_parent_canvas());
-		break;
 	}
 
 	ret->set_parent_canvas(get_parent_canvas());
@@ -212,9 +263,9 @@ ValueNode_StaticList::erase(const ListEntry &value_node_) // line 513
 		}
 }
 
-ValueNode_StaticList::ValueNode_StaticList(ValueBase::Type container_type, Canvas::LooseHandle canvas): // line 548
-	LinkableValueNode(ValueBase::TYPE_LIST),
-	container_type	(container_type),
+ValueNode_StaticList::ValueNode_StaticList(Type &container_type, Canvas::LooseHandle canvas): // line 548
+	LinkableValueNode(type_list),
+	container_type(&container_type),
 	loop_(false)
 {
 	if (getenv("SYNFIG_DEBUG_STATICLIST_CONSTRUCTORS"))
@@ -241,9 +292,9 @@ ValueNode_StaticList::~ValueNode_StaticList()
 }
 
 ValueNode_StaticList::Handle
-ValueNode_StaticList::create(ValueBase::Type id, Canvas::LooseHandle canvas) // line 557
+ValueNode_StaticList::create(Type &type, Canvas::LooseHandle canvas) // line 557
 {
-	return new ValueNode_StaticList(id, canvas);
+	return new ValueNode_StaticList(type, canvas);
 }
 
 ValueNode_StaticList*
@@ -256,18 +307,19 @@ ValueNode_StaticList::create_from(const ValueBase &value) // line 568
 	if(value_list.empty())
 		return 0;
 
-	ValueBase::Type type(value.get_contained_type());
+	Type &type(value.get_contained_type());
 	ValueNode_StaticList* value_node(new ValueNode_StaticList(type));
 
 	// when creating a list of vectors, start it off being looped.
 	// I think the only time this is used if for creating polygons,
 	// and we want them to be looped by default
-	if (value_node->get_contained_type() == ValueBase::TYPE_VECTOR)
+	if (value_node->get_contained_type() == type_vector)
 		value_node->set_loop(true);
 
 	for(iter=value_list.begin();iter!=value_list.end();++iter)
 	{
-		if (type == ValueBase::TYPE_BONE)
+		// TODO: both cases is identical, see constructor of ValueNode_Const
+		if (type == type_bone_object)
 		{
 			ValueNode::Handle item(ValueNode_Bone::create(*iter));
 			value_node->add(item);
@@ -290,10 +342,10 @@ ValueNode_StaticList::operator()(Time t)const // line 596
 	std::vector<ValueBase> ret_list;
 	std::vector<ReplaceableListEntry>::const_iterator iter;
 
-	assert(container_type);
+	assert(*container_type != type_nil);
 
 	for(iter=list.begin();iter!=list.end();++iter)
-		if((*iter)->get_type()==container_type)
+		if((*iter)->get_type()==*container_type)
 			ret_list.push_back((**iter)(t));
 		else
 			synfig::warning(string("ValueNode_StaticList::operator()():")+_("List type/item type mismatch, throwing away mismatch"));
@@ -314,7 +366,7 @@ ValueNode_StaticList::set_link_vfunc(int i,ValueNode::Handle x) // line 628
 
 	if((unsigned)i>=list.size())
 		return false;
-	if(x->get_type()!=container_type)
+	if(x->get_type()!=*container_type)
 		return false;
 	list[i]=x;
 	return true;
@@ -344,7 +396,7 @@ ValueNode_StaticList::link_local_name(int i)const // line 657
 	return etl::strprintf(_("Item %03d"),i+1);
 }
 
-ValueNode*
+ValueNode::Handle
 ValueNode_StaticList::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	ValueNode_Bone::show_bone_map(get_root_canvas(), __FILE__, __LINE__, "before cloning staticlist");
@@ -392,9 +444,9 @@ ValueNode_StaticList::get_local_name()const // line 711
 }
 
 bool
-ValueNode_StaticList::check_type(ValueBase::Type type) // line 717
+ValueNode_StaticList::check_type(Type &type) // line 717
 {
-	return type==ValueBase::TYPE_LIST;
+	return type==type_list;
 }
 
 LinkableValueNode::Vocab
@@ -422,16 +474,16 @@ ValueNode_StaticList::set_member_canvas(etl::loose_handle<Canvas> canvas) // lin
 	}
 }
 
-ValueBase::Type
+Type&
 ValueNode_StaticList::get_contained_type()const // line 730
 {
-	return container_type;
+	return *container_type;
 }
 
 LinkableValueNode*
 ValueNode_StaticList::create_new()const // line 736
 {
-	return new ValueNode_StaticList(container_type);
+	return new ValueNode_StaticList(*container_type);
 }
 
 #ifdef _DEBUG
diff --git a/src/synfig/valuenode_staticlist.h b/src/synfig/valuenode_staticlist.h
index fe286a8..04604be 100644
--- a/src/synfig/valuenode_staticlist.h
+++ b/src/synfig/valuenode_staticlist.h
@@ -56,11 +56,11 @@ public:
 	typedef ValueNode::RHandle ReplaceableListEntry;
 
 protected:
-	ValueNode_StaticList(ValueBase::Type container_type=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+	ValueNode_StaticList(Type &container_type=type_nil, etl::loose_handle<Canvas> canvas = 0);
 
 	virtual ~ValueNode_StaticList();
 
-	ValueBase::Type container_type;
+	Type *container_type;
 
 	bool loop_;
 
@@ -92,7 +92,7 @@ public:
 
 	void set_member_canvas(etl::loose_handle<Canvas>);
 
-	ValueBase::Type get_contained_type()const;
+	Type& get_contained_type()const;
 
 
 	template <typename iterator> static Handle
@@ -107,7 +107,7 @@ public:
 //	void insert_time(const Time& location, const Time& delta);
 	//void manipulate_time(const Time& old_begin,const Time& old_end,const Time& new_begin,const Time& new_end);
 
-	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+	virtual ValueNode::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5);
 
@@ -121,13 +121,13 @@ protected:
 public:
 	/*! \note The construction parameter (\a id) is the type that the list
 	**	contains, rather than the type that it will yield
-	**	(which is ValueBase::TYPE_LIST)
+	**	(which is type_list)
 	*/
-	static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+	static Handle create(Type &type=type_nil, etl::loose_handle<Canvas> canvas = 0);
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_StaticList* create_from(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	static bool check_type(Type &type);
+	static ValueNode_StaticList* create_from(const ValueBase &x=type_gradient);
 	virtual Vocab get_children_vocab_vfunc()const;
 
 #ifdef _DEBUG
diff --git a/src/synfig/valuenode_step.cpp b/src/synfig/valuenode_step.cpp
index f02ed01..1763984 100644
--- a/src/synfig/valuenode_step.cpp
+++ b/src/synfig/valuenode_step.cpp
@@ -61,29 +61,26 @@ ValueNode_Step::ValueNode_Step(const ValueBase &value):
 	set_link("start_time",   ValueNode_Const::create(Time(0)));
 	set_link("intersection", ValueNode_Const::create(Real(0.5)));
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		set_link("link",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_COLOR:
+	else
+	if (type == type_color)
 		set_link("link",ValueNode_Const::create(value.get(Color())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	else
+	if (type == type_integer)
 		set_link("link",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	else
+	if (type == type_real)
 		set_link("link",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	else
+	if (type == type_time)
 		set_link("link",ValueNode_Const::create(value.get(Time())));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	else
+	if (type == type_vector)
 		set_link("link",ValueNode_Const::create(value.get(Vector())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(get_type()));
-	}
+	else
+		throw Exception::BadType(get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -115,18 +112,16 @@ ValueNode_Step::operator()(Time t)const
 
 	t = (floor((t - start_time) / duration) + intersection) * duration + start_time;
 
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:   return (*link_)(t).get( Angle());
-	case ValueBase::TYPE_COLOR:   return (*link_)(t).get( Color());
-	case ValueBase::TYPE_INTEGER: return (*link_)(t).get(   int());
-	case ValueBase::TYPE_REAL:    return (*link_)(t).get(  Real());
-	case ValueBase::TYPE_TIME:    return (*link_)(t).get(  Time());
-	case ValueBase::TYPE_VECTOR:  return (*link_)(t).get(Vector());
-	default:
-		assert(0);
-		return ValueBase();
-	}
+	Type &type(get_type());
+	if (type == type_angle)   return (*link_)(t).get( Angle());
+	if (type == type_color)   return (*link_)(t).get( Color());
+	if (type == type_integer) return (*link_)(t).get(   int());
+	if (type == type_real)    return (*link_)(t).get(  Real());
+	if (type == type_time)    return (*link_)(t).get(  Time());
+	if (type == type_vector)  return (*link_)(t).get(Vector());
+
+	assert(0);
+	return ValueBase();
 }
 
 
@@ -143,15 +138,15 @@ ValueNode_Step::get_local_name()const
 }
 
 bool
-ValueNode_Step::check_type(ValueBase::Type type)
+ValueNode_Step::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE		||
-		type==ValueBase::TYPE_COLOR		||
-		type==ValueBase::TYPE_INTEGER	||
-		type==ValueBase::TYPE_REAL		||
-		type==ValueBase::TYPE_TIME		||
-		type==ValueBase::TYPE_VECTOR	;
+		type==type_angle	||
+		type==type_color	||
+		type==type_integer	||
+		type==type_real		||
+		type==type_time		||
+		type==type_vector	;
 }
 
 bool
@@ -162,9 +157,9 @@ ValueNode_Step::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(link_,         get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(duration_,     ValueBase::TYPE_TIME);
-	case 2: CHECK_TYPE_AND_SET_VALUE(start_time_,   ValueBase::TYPE_TIME);
-	case 3: CHECK_TYPE_AND_SET_VALUE(intersection_, ValueBase::TYPE_REAL);
+	case 1: CHECK_TYPE_AND_SET_VALUE(duration_,     type_time);
+	case 2: CHECK_TYPE_AND_SET_VALUE(start_time_,   type_time);
+	case 3: CHECK_TYPE_AND_SET_VALUE(intersection_, type_real);
 	}
 	return false;
 }
diff --git a/src/synfig/valuenode_step.h b/src/synfig/valuenode_step.h
index 49c1b5c..35c6168 100644
--- a/src/synfig/valuenode_step.h
+++ b/src/synfig/valuenode_step.h
@@ -68,7 +68,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Step* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Step
diff --git a/src/synfig/valuenode_stripes.cpp b/src/synfig/valuenode_stripes.cpp
index 087bb6c..708cd3b 100644
--- a/src/synfig/valuenode_stripes.cpp
+++ b/src/synfig/valuenode_stripes.cpp
@@ -54,7 +54,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-synfig::ValueNode_Stripes::ValueNode_Stripes():LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
+synfig::ValueNode_Stripes::ValueNode_Stripes():LinkableValueNode(synfig::type_gradient)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
@@ -73,17 +73,17 @@ ValueNode_Stripes::create_new()const
 ValueNode_Stripes*
 ValueNode_Stripes::create(const ValueBase& x)
 {
-	ValueBase::Type id(x.get_type());
+	Type &type(x.get_type());
 
-	if(id!=ValueBase::TYPE_GRADIENT)
+	if(type!=type_gradient)
 	{
 		assert(0);
-		throw runtime_error(String(_("Stripes"))+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(String(_("Stripes"))+_(":Bad type ")+type.description.local_name);
 	}
 
 	ValueNode_Stripes* value_node=new ValueNode_Stripes();
 
-	assert(value_node->get_type()==id);
+	assert(value_node->get_type()==type);
 
 	return value_node;
 }
@@ -132,10 +132,10 @@ ValueNode_Stripes::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(color1_,  ValueBase::TYPE_COLOR);
-	case 1: CHECK_TYPE_AND_SET_VALUE(color2_,  ValueBase::TYPE_COLOR);
-	case 2: CHECK_TYPE_AND_SET_VALUE(stripes_, ValueBase::TYPE_INTEGER);
-	case 3: CHECK_TYPE_AND_SET_VALUE(width_,   ValueBase::TYPE_REAL);
+	case 0: CHECK_TYPE_AND_SET_VALUE(color1_,  type_color);
+	case 1: CHECK_TYPE_AND_SET_VALUE(color2_,  type_color);
+	case 2: CHECK_TYPE_AND_SET_VALUE(stripes_, type_integer);
+	case 3: CHECK_TYPE_AND_SET_VALUE(width_,   type_real);
 	}
 	return false;
 }
@@ -172,9 +172,9 @@ ValueNode_Stripes::get_local_name()const
 }
 
 bool
-ValueNode_Stripes::check_type(ValueBase::Type type)
+ValueNode_Stripes::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_GRADIENT;
+	return type==type_gradient;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_stripes.h b/src/synfig/valuenode_stripes.h
index 9d77d7b..af2c2bf 100644
--- a/src/synfig/valuenode_stripes.h
+++ b/src/synfig/valuenode_stripes.h
@@ -66,15 +66,15 @@ public:
 	virtual String get_name()const;
 	virtual String get_local_name()const;
 
-//	static bool check_type(const ValueBase::Type &type);
+//	static bool check_type(Type &type);
 
 	LinkableValueNode* create_new()const;
 
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
-	static ValueNode_Stripes* create(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	static bool check_type(Type &type);
+	static ValueNode_Stripes* create(const ValueBase &x=type_gradient);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Stripes
 
diff --git a/src/synfig/valuenode_subtract.cpp b/src/synfig/valuenode_subtract.cpp
index dc64432..29812f4 100644
--- a/src/synfig/valuenode_subtract.cpp
+++ b/src/synfig/valuenode_subtract.cpp
@@ -64,46 +64,58 @@ synfig::ValueNode_Subtract::ValueNode_Subtract(const ValueBase &value):
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
 	set_link("scalar",ValueNode_Const::create(Real(1.0)));
-	ValueBase::Type id(value.get_type());
+	Type &type(value.get_type());
 
-	switch(id)
+	if (type == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("lhs",ValueNode_Const::create(value.get(Angle())));
 		set_link("rhs",ValueNode_Const::create(Angle::deg(0)));
-		break;
-	case ValueBase::TYPE_COLOR:
+	}
+	else
+	if (type == type_color)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Color())));
 		set_link("rhs",ValueNode_Const::create(Color(0,0,0,0)));
-		break;
-	case ValueBase::TYPE_GRADIENT:
+	}
+	else
+	if (type == type_gradient)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Gradient())));
 		set_link("rhs",ValueNode_Const::create(Gradient()));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	}
+	else
+	if (type == type_integer)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(int())));
 		set_link("rhs",ValueNode_Const::create(int(0)));
-		break;
-	case ValueBase::TYPE_REAL:
+	}
+	else
+	if (type == type_real)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Real())));
 		set_link("rhs",ValueNode_Const::create(Real(0)));
-		break;
-	case ValueBase::TYPE_TIME:
+	}
+	else
+	if (type == type_time)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Time())));
 		set_link("rhs",ValueNode_Const::create(Time(0)));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		set_link("lhs",ValueNode_Const::create(value.get(Vector())));
 		set_link("rhs",ValueNode_Const::create(Vector(0,0)));
-		break;
-	default:
+	}
+	else
+	{
 		assert(0);
-		throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(id));
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
 	}
 
-	assert(ref_a->get_type()==id);
-	assert(ref_b->get_type()==id);
-	assert(get_type()==id);
+	assert(ref_a->get_type()==type);
+	assert(ref_b->get_type()==type);
+	assert(get_type()==type);
 }
 
 LinkableValueNode*
@@ -131,26 +143,23 @@ synfig::ValueNode_Subtract::operator()(Time t)const
 
 	if(!ref_a || !ref_b)
 		throw runtime_error(strprintf("ValueNode_Subtract: %s",_("One or both of my parameters aren't set!")));
-	switch(get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	Type &type(get_type());
+	if (type == type_angle)
 		return ((*ref_a)(t).get(Angle())-(*ref_b)(t).get(Angle()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_COLOR:
+	if (type == type_color)
 		return ((*ref_a)(t).get(Color())-(*ref_b)(t).get(Color()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_GRADIENT:
+	if (type == type_gradient)
 		return ((*ref_a)(t).get(Gradient())-(*ref_b)(t).get(Gradient()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_INTEGER:
+	if (type == type_integer)
 		return round_to_int(((*ref_a)(t).get(int())-(*ref_b)(t).get(int()))*(*scalar)(t).get(Real()));
-	case ValueBase::TYPE_REAL:
+	if (type == type_real)
 		return ((*ref_a)(t).get(Vector::value_type())-(*ref_b)(t).get(Vector::value_type()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_TIME:
+	if (type == type_time)
 		return ((*ref_a)(t).get(Time())-(*ref_b)(t).get(Time()))*(*scalar)(t).get(Real());
-	case ValueBase::TYPE_VECTOR:
+	if (type == type_vector)
 		return ((*ref_a)(t).get(Vector())-(*ref_b)(t).get(Vector()))*(*scalar)(t).get(Real());
-	default:
-		assert(0);
-		break;
-	}
+
+	assert(0);
 	return ValueBase();
 }
 
@@ -163,7 +172,7 @@ ValueNode_Subtract::set_link_vfunc(int i,ValueNode::Handle value)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(ref_a,  get_type());
 	case 1: CHECK_TYPE_AND_SET_VALUE(ref_b,  get_type());
-	case 2: CHECK_TYPE_AND_SET_VALUE(scalar, ValueBase::TYPE_REAL);
+	case 2: CHECK_TYPE_AND_SET_VALUE(scalar, type_real);
 	}
 	return false;
 }
@@ -195,15 +204,15 @@ ValueNode_Subtract::get_local_name()const
 }
 
 bool
-ValueNode_Subtract::check_type(ValueBase::Type type)
+ValueNode_Subtract::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_ANGLE
-		|| type==ValueBase::TYPE_COLOR
-		|| type==ValueBase::TYPE_GRADIENT
-		|| type==ValueBase::TYPE_INTEGER
-		|| type==ValueBase::TYPE_REAL
-		|| type==ValueBase::TYPE_TIME
-		|| type==ValueBase::TYPE_VECTOR;
+	return type==type_angle
+		|| type==type_color
+		|| type==type_gradient
+		|| type==type_integer
+		|| type==type_real
+		|| type==type_time
+		|| type==type_vector;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_subtract.h b/src/synfig/valuenode_subtract.h
index 9627501..91c1f11 100644
--- a/src/synfig/valuenode_subtract.h
+++ b/src/synfig/valuenode_subtract.h
@@ -59,7 +59,7 @@ public:
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
 	virtual String get_name()const;
 	virtual String get_local_name()const;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 
 	//! Gets the left-hand-side value_node
 	ValueNode::Handle get_lhs()const { return ref_a; }
diff --git a/src/synfig/valuenode_switch.cpp b/src/synfig/valuenode_switch.cpp
index 108fb74..d27da37 100644
--- a/src/synfig/valuenode_switch.cpp
+++ b/src/synfig/valuenode_switch.cpp
@@ -51,7 +51,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_Switch::ValueNode_Switch(const ValueBase::Type &x):
+ValueNode_Switch::ValueNode_Switch(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -92,7 +92,7 @@ ValueNode_Switch::set_link_vfunc(int i,ValueNode::Handle value)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(link_off_, get_type());
 	case 1: CHECK_TYPE_AND_SET_VALUE(link_on_,  get_type());
-	case 2: CHECK_TYPE_AND_SET_VALUE(switch_,   ValueBase::TYPE_BOOL);
+	case 2: CHECK_TYPE_AND_SET_VALUE(switch_,   type_bool);
 	}
 	return false;
 }
@@ -134,9 +134,9 @@ ValueNode_Switch::get_local_name()const
 }
 
 bool
-ValueNode_Switch::check_type(ValueBase::Type type)
+ValueNode_Switch::check_type(Type &type)
 {
-	if(type)
+	if(type != type_nil)
 		return true;
 	return false;
 }
diff --git a/src/synfig/valuenode_switch.h b/src/synfig/valuenode_switch.h
index e256a4d..0af9a72 100644
--- a/src/synfig/valuenode_switch.h
+++ b/src/synfig/valuenode_switch.h
@@ -46,11 +46,11 @@ public:
 	typedef etl::handle<ValueNode_Switch> Handle;
 	typedef etl::handle<const ValueNode_Switch> ConstHandle;
 
-	ValueNode_Switch(const ValueBase::Type &x);
+	ValueNode_Switch(Type &x);
 
 	ValueNode_Switch(const ValueNode::Handle &x);
 
-//	static Handle create(const ValueBase::Type &x);
+//	static Handle create(Type &x);
 //	static Handle create(const ValueNode::Handle &x);
 
 
@@ -71,7 +71,7 @@ protected:
 
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_Switch* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Switch
diff --git a/src/synfig/valuenode_timedswap.cpp b/src/synfig/valuenode_timedswap.cpp
index ce25abf..b60a94d 100644
--- a/src/synfig/valuenode_timedswap.cpp
+++ b/src/synfig/valuenode_timedswap.cpp
@@ -59,34 +59,45 @@ ValueNode_TimedSwap::ValueNode_TimedSwap(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(get_type())
+	Type &type(get_type());
+	if (type == type_angle)
 	{
-	case ValueBase::TYPE_ANGLE:
 		set_link("before",ValueNode_Const::create(value.get(Angle())));
 		set_link("after",ValueNode_Const::create(value.get(Angle())));
-		break;
-	case ValueBase::TYPE_COLOR:
+	}
+	else
+	if (type == type_color)
+	{
 		set_link("before",ValueNode_Const::create(value.get(Color())));
 		set_link("after",ValueNode_Const::create(value.get(Color())));
-		break;
-	case ValueBase::TYPE_INTEGER:
+	}
+	else
+	if (type == type_integer)
+	{
 		set_link("before",ValueNode_Const::create(value.get(int())));
 		set_link("after",ValueNode_Const::create(value.get(int())));
-		break;
-	case ValueBase::TYPE_REAL:
+	}
+	else
+	if (type == type_real)
+	{
 		set_link("before",ValueNode_Const::create(value.get(Real())));
 		set_link("after",ValueNode_Const::create(value.get(Real())));
-		break;
-	case ValueBase::TYPE_TIME:
+	}
+	else
+	if (type == type_time)
+	{
 		set_link("before",ValueNode_Const::create(value.get(Time())));
 		set_link("after",ValueNode_Const::create(value.get(Time())));
-		break;
-	case ValueBase::TYPE_VECTOR:
+	}
+	else
+	if (type == type_vector)
+	{
 		set_link("before",ValueNode_Const::create(value.get(Vector())));
 		set_link("after",ValueNode_Const::create(value.get(Vector())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(type.description.local_name);
 	}
 
 	set_link("time",ValueNode_Const::create(Time(2)));
@@ -128,47 +139,48 @@ synfig::ValueNode_TimedSwap::operator()(Time t)const
 		// if amount==0.0, then we are after
 		// if amount==1.0, then we are before
 
-		switch(get_type())
+		Type &type(get_type());
+		if (type == type_angle)
+		{
+			Angle a=(*after)(t).get(Angle());
+			Angle b=(*before)(t).get(Angle());
+			return (b-a)*amount+a;
+		}
+		else
+		if (type == type_color)
+		{
+			Color a=(*after)(t).get(Color());
+			Color b=(*before)(t).get(Color());
+			// note: Shouldn't this use a straight blend?
+			return (b-a)*amount+a;
+		}
+		else
+		if (type == type_integer)
+		{
+			float a=(float)(*after)(t).get(int());
+			float b=(float)(*before)(t).get(int());
+			return round_to_int((b-a)*amount+a);
+		}
+		else
+		if (type == type_real)
+		{
+			Real a=(*after)(t).get(Real());
+			Real b=(*before)(t).get(Real());
+			return (b-a)*amount+a;
+		}
+		else
+		if (type == type_time)
+		{
+			Time a=(*after)(t).get(Time());
+			Time b=(*before)(t).get(Time());
+			return (b-a)*amount+a;
+		}
+		else
+		if (type == type_vector)
 		{
-		case ValueBase::TYPE_ANGLE:
-			{
-				Angle a=(*after)(t).get(Angle());
-				Angle b=(*before)(t).get(Angle());
-				return (b-a)*amount+a;
-			}
-		case ValueBase::TYPE_COLOR:
-			{
-				Color a=(*after)(t).get(Color());
-				Color b=(*before)(t).get(Color());
-				// note: Shouldn't this use a straight blend?
-				return (b-a)*amount+a;
-			}
-		case ValueBase::TYPE_INTEGER:
-			{
-				float a=(float)(*after)(t).get(int());
-				float b=(float)(*before)(t).get(int());
-				return round_to_int((b-a)*amount+a);
-			}
-		case ValueBase::TYPE_REAL:
-			{
-				Real a=(*after)(t).get(Real());
-				Real b=(*before)(t).get(Real());
-				return (b-a)*amount+a;
-			}
-		case ValueBase::TYPE_TIME:
-			{
-				Time a=(*after)(t).get(Time());
-				Time b=(*before)(t).get(Time());
-				return (b-a)*amount+a;
-			}
-		case ValueBase::TYPE_VECTOR:
-			{
-				Vector a=(*after)(t).get(Vector());
-				Vector b=(*before)(t).get(Vector());
-				return (b-a)*amount+a;
-			}
-		default:
-			break;
+			Vector a=(*after)(t).get(Vector());
+			Vector b=(*before)(t).get(Vector());
+			return (b-a)*amount+a;
 		}
 	}
 
@@ -188,8 +200,8 @@ ValueNode_TimedSwap::set_link_vfunc(int i,ValueNode::Handle value)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(before,      get_type());
 	case 1: CHECK_TYPE_AND_SET_VALUE(after,       get_type());
-	case 2: CHECK_TYPE_AND_SET_VALUE(swap_time,   ValueBase::TYPE_TIME);
-	case 3: CHECK_TYPE_AND_SET_VALUE(swap_length, ValueBase::TYPE_TIME);
+	case 2: CHECK_TYPE_AND_SET_VALUE(swap_time,   type_time);
+	case 3: CHECK_TYPE_AND_SET_VALUE(swap_length, type_time);
 	}
 	return false;
 }
@@ -222,15 +234,15 @@ ValueNode_TimedSwap::get_local_name()const
 }
 
 bool
-ValueNode_TimedSwap::check_type(ValueBase::Type type)
+ValueNode_TimedSwap::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_ANGLE ||
-		type==ValueBase::TYPE_COLOR ||
-		type==ValueBase::TYPE_INTEGER ||
-		type==ValueBase::TYPE_REAL ||
-		type==ValueBase::TYPE_TIME ||
-		type==ValueBase::TYPE_VECTOR;
+		type==type_angle	||
+		type==type_color	||
+		type==type_integer	||
+		type==type_real 	||
+		type==type_time 	||
+		type==type_vector;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_timedswap.h b/src/synfig/valuenode_timedswap.h
index 8ed8ef3..3bbd9c6 100644
--- a/src/synfig/valuenode_timedswap.h
+++ b/src/synfig/valuenode_timedswap.h
@@ -53,7 +53,7 @@ private:
 
 public:
 
-//	static Handle create(ValueBase::Type id);
+//	static Handle create(Type &type);
 
 	virtual ~ValueNode_TimedSwap();
 
@@ -64,7 +64,7 @@ public:
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
-//	static bool check_type(const ValueBase::Type &type);
+//	static bool check_type(Type &type);
 
 protected:
 
@@ -73,7 +73,7 @@ protected:
 public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_TimedSwap* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_TimedSwap
diff --git a/src/synfig/valuenode_timeloop.cpp b/src/synfig/valuenode_timeloop.cpp
index a23eb39..8b3e957 100644
--- a/src/synfig/valuenode_timeloop.cpp
+++ b/src/synfig/valuenode_timeloop.cpp
@@ -51,7 +51,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ValueNode_TimeLoop::ValueNode_TimeLoop(const ValueBase::Type &x):
+ValueNode_TimeLoop::ValueNode_TimeLoop(Type &x):
 	LinkableValueNode(x)
 {
 }
@@ -92,9 +92,9 @@ ValueNode_TimeLoop::set_link_vfunc(int i,ValueNode::Handle value)
 	switch(i)
 	{
 	case 0: CHECK_TYPE_AND_SET_VALUE(link_,       get_type());
-	case 1: CHECK_TYPE_AND_SET_VALUE(link_time_,  ValueBase::TYPE_TIME);
-	case 2: CHECK_TYPE_AND_SET_VALUE(local_time_, ValueBase::TYPE_TIME);
-	case 3: CHECK_TYPE_AND_SET_VALUE(duration_,   ValueBase::TYPE_TIME);
+	case 1: CHECK_TYPE_AND_SET_VALUE(link_time_,  type_time);
+	case 2: CHECK_TYPE_AND_SET_VALUE(local_time_, type_time);
+	case 3: CHECK_TYPE_AND_SET_VALUE(duration_,   type_time);
 	}
 	return false;
 }
@@ -154,9 +154,9 @@ ValueNode_TimeLoop::get_local_name()const
 }
 
 bool
-ValueNode_TimeLoop::check_type(ValueBase::Type type)
+ValueNode_TimeLoop::check_type(Type &type)
 {
-	if(type)
+	if(type != type_nil)
 		return true;
 	return false;
 }
@@ -177,7 +177,7 @@ ValueNode_TimeLoop::get_children_vocab_vfunc()const
 
 	ret.push_back(ParamDesc("link_time")
 		.set_local_name(_("Link Time"))
-		.set_description(_("Start time of the loop for the value node timeline"))
+		.set_description(_("Start time of the loop for the value node Timeline"))
 	);
 
 	ret.push_back(ParamDesc("local_time")
@@ -187,7 +187,7 @@ ValueNode_TimeLoop::get_children_vocab_vfunc()const
 
 	ret.push_back(ParamDesc("duration")
 		.set_local_name(_("Duration"))
-		.set_description(_("Lenght of the loop"))
+		.set_description(_("Length of the loop"))
 	);
 	return ret;
 }
diff --git a/src/synfig/valuenode_timeloop.h b/src/synfig/valuenode_timeloop.h
index 05fb743..d3345db 100644
--- a/src/synfig/valuenode_timeloop.h
+++ b/src/synfig/valuenode_timeloop.h
@@ -48,7 +48,7 @@ public:
 	typedef etl::handle<ValueNode_TimeLoop> Handle;
 	typedef etl::handle<const ValueNode_TimeLoop> ConstHandle;
 
-	ValueNode_TimeLoop(const ValueBase::Type &x);
+	ValueNode_TimeLoop(Type &x);
 	ValueNode_TimeLoop(const ValueNode::Handle &x);
 
 	virtual ValueBase operator()(Time t)const;
@@ -68,7 +68,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_TimeLoop* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_TimeLoop
diff --git a/src/synfig/valuenode_timestring.cpp b/src/synfig/valuenode_timestring.cpp
index 460c642..9628943 100644
--- a/src/synfig/valuenode_timestring.cpp
+++ b/src/synfig/valuenode_timestring.cpp
@@ -57,14 +57,10 @@ ValueNode_TimeString::ValueNode_TimeString(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_STRING:
+	if (value.get_type() == type_string)
 		set_link("time",ValueNode_Const::create(Time(0)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
-	}
+	else
+		throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -92,15 +88,12 @@ ValueNode_TimeString::operator()(Time t)const
 
 	Time time((*time_)(t).get(Time()));
 
-	switch (get_type())
+	if (get_type() == type_string)
 	{
-	case ValueBase::TYPE_STRING:
 		if (get_root_canvas())
 			return time.get_string(get_root_canvas()->rend_desc().get_frame_rate());
 		else
 			return time.get_string();
-	default:
-		break;
 	}
 
 	assert(0);
@@ -126,7 +119,7 @@ ValueNode_TimeString::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(time_, ValueBase::TYPE_TIME);
+	case 0: CHECK_TYPE_AND_SET_VALUE(time_, type_time);
 	}
 	return false;
 }
@@ -145,10 +138,10 @@ ValueNode_TimeString::get_link_vfunc(int i)const
 }
 
 bool
-ValueNode_TimeString::check_type(ValueBase::Type type)
+ValueNode_TimeString::check_type(Type &type)
 {
 	return
-		type==ValueBase::TYPE_STRING;
+		type==type_string;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_timestring.h b/src/synfig/valuenode_timestring.h
index 9f9456c..f3fa680 100644
--- a/src/synfig/valuenode_timestring.h
+++ b/src/synfig/valuenode_timestring.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_TimeString* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_TimeString
diff --git a/src/synfig/valuenode_twotone.cpp b/src/synfig/valuenode_twotone.cpp
index d5f5eee..1e110d0 100644
--- a/src/synfig/valuenode_twotone.cpp
+++ b/src/synfig/valuenode_twotone.cpp
@@ -54,18 +54,18 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-synfig::ValueNode_TwoTone::ValueNode_TwoTone(const ValueBase &value):LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
+synfig::ValueNode_TwoTone::ValueNode_TwoTone(const ValueBase &value):LinkableValueNode(synfig::type_gradient)
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
+	if (value.get_type() == type_gradient)
 	{
-	case ValueBase::TYPE_GRADIENT:
 		set_link("color1",ValueNode_Const::create(value.get(Gradient())(0)));
 		set_link("color2",ValueNode_Const::create(value.get(Gradient())(1)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+	else
+	{
+		throw Exception::BadType(value.get_type().description.local_name);
 	}
 }
 
@@ -102,8 +102,8 @@ ValueNode_TwoTone::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(ref_a, ValueBase::TYPE_COLOR);
-	case 1: CHECK_TYPE_AND_SET_VALUE(ref_b, ValueBase::TYPE_COLOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(ref_a, type_color);
+	case 1: CHECK_TYPE_AND_SET_VALUE(ref_b, type_color);
 	}
 	return false;
 }
@@ -136,9 +136,9 @@ ValueNode_TwoTone::get_local_name()const
 }
 
 bool
-ValueNode_TwoTone::check_type(ValueBase::Type type)
+ValueNode_TwoTone::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_GRADIENT;
+	return type==type_gradient;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_twotone.h b/src/synfig/valuenode_twotone.h
index 73d23a7..f5b5cee 100644
--- a/src/synfig/valuenode_twotone.h
+++ b/src/synfig/valuenode_twotone.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_TwoTone* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_TwoTone
diff --git a/src/synfig/valuenode_vectorangle.cpp b/src/synfig/valuenode_vectorangle.cpp
index b3d7b26..8997bd9 100644
--- a/src/synfig/valuenode_vectorangle.cpp
+++ b/src/synfig/valuenode_vectorangle.cpp
@@ -56,15 +56,11 @@ ValueNode_VectorAngle::ValueNode_VectorAngle(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_ANGLE:
+	if (value.get_type() == type_angle)
 		set_link("vector",ValueNode_Const::create(Vector(Angle::cos(value.get(Angle())).get(),
 														 Angle::sin(value.get(Angle())).get())));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
-	}
+	else
+		throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -101,7 +97,7 @@ ValueNode_VectorAngle::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, ValueBase::TYPE_VECTOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, type_vector);
 	}
 	return false;
 }
@@ -129,9 +125,9 @@ ValueNode_VectorAngle::get_local_name()const
 }
 
 bool
-ValueNode_VectorAngle::check_type(ValueBase::Type type)
+ValueNode_VectorAngle::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_ANGLE;
+	return type==type_angle;
 }
 
 
diff --git a/src/synfig/valuenode_vectorangle.h b/src/synfig/valuenode_vectorangle.h
index c867e64..046c0b1 100644
--- a/src/synfig/valuenode_vectorangle.h
+++ b/src/synfig/valuenode_vectorangle.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_VectorAngle* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_VectorAngle
diff --git a/src/synfig/valuenode_vectorlength.cpp b/src/synfig/valuenode_vectorlength.cpp
index 6acd73f..7f08a1c 100644
--- a/src/synfig/valuenode_vectorlength.cpp
+++ b/src/synfig/valuenode_vectorlength.cpp
@@ -56,14 +56,10 @@ ValueNode_VectorLength::ValueNode_VectorLength(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_REAL:
+	if (value.get_type() == type_real)
 		set_link("vector",ValueNode_Const::create(Vector(value.get(Real()), 0)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
-	}
+	else
+		throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -100,7 +96,7 @@ ValueNode_VectorLength::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, ValueBase::TYPE_VECTOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, type_vector);
 	}
 	return false;
 }
@@ -128,9 +124,9 @@ ValueNode_VectorLength::get_local_name()const
 }
 
 bool
-ValueNode_VectorLength::check_type(ValueBase::Type type)
+ValueNode_VectorLength::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_vectorlength.h b/src/synfig/valuenode_vectorlength.h
index 4dea4a4..3c59390 100644
--- a/src/synfig/valuenode_vectorlength.h
+++ b/src/synfig/valuenode_vectorlength.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_VectorLength* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_VectorLength
diff --git a/src/synfig/valuenode_vectorx.cpp b/src/synfig/valuenode_vectorx.cpp
index adfef1f..63f74bb 100644
--- a/src/synfig/valuenode_vectorx.cpp
+++ b/src/synfig/valuenode_vectorx.cpp
@@ -56,14 +56,10 @@ ValueNode_VectorX::ValueNode_VectorX(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_REAL:
+	if (value.get_type() == type_real)
 		set_link("vector",ValueNode_Const::create(Vector(value.get(Real()), 0)));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
-	}
+	else
+		throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -100,7 +96,7 @@ ValueNode_VectorX::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, ValueBase::TYPE_VECTOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, type_vector);
 	}
 	return false;
 }
@@ -128,9 +124,9 @@ ValueNode_VectorX::get_local_name()const
 }
 
 bool
-ValueNode_VectorX::check_type(ValueBase::Type type)
+ValueNode_VectorX::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_vectorx.h b/src/synfig/valuenode_vectorx.h
index ece1e6a..66f817c 100644
--- a/src/synfig/valuenode_vectorx.h
+++ b/src/synfig/valuenode_vectorx.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_VectorX* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_VectorX
diff --git a/src/synfig/valuenode_vectory.cpp b/src/synfig/valuenode_vectory.cpp
index bd899ae..74276ec 100644
--- a/src/synfig/valuenode_vectory.cpp
+++ b/src/synfig/valuenode_vectory.cpp
@@ -56,14 +56,10 @@ ValueNode_VectorY::ValueNode_VectorY(const ValueBase &value):
 {
 	Vocab ret(get_children_vocab());
 	set_children_vocab(ret);
-	switch(value.get_type())
-	{
-	case ValueBase::TYPE_REAL:
+	if (value.get_type() == type_real)
 		set_link("vector",ValueNode_Const::create(Vector(0, value.get(Real()))));
-		break;
-	default:
-		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
-	}
+	else
+		throw Exception::BadType(value.get_type().description.local_name);
 }
 
 LinkableValueNode*
@@ -100,7 +96,7 @@ ValueNode_VectorY::set_link_vfunc(int i,ValueNode::Handle value)
 
 	switch(i)
 	{
-	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, ValueBase::TYPE_VECTOR);
+	case 0: CHECK_TYPE_AND_SET_VALUE(vector_, type_vector);
 	}
 	return false;
 }
@@ -128,9 +124,9 @@ ValueNode_VectorY::get_local_name()const
 }
 
 bool
-ValueNode_VectorY::check_type(ValueBase::Type type)
+ValueNode_VectorY::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_REAL;
+	return type==type_real;
 }
 
 LinkableValueNode::Vocab
diff --git a/src/synfig/valuenode_vectory.h b/src/synfig/valuenode_vectory.h
index 4f9f53b..2f67efb 100644
--- a/src/synfig/valuenode_vectory.h
+++ b/src/synfig/valuenode_vectory.h
@@ -66,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::get_link_vfunc;
 
 	using synfig::LinkableValueNode::set_link_vfunc;
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	static ValueNode_VectorY* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_VectorY
diff --git a/src/synfig/valuenode_weightedaverage.cpp b/src/synfig/valuenode_weightedaverage.cpp
new file mode 100644
index 0000000..54bb1e6
--- /dev/null
+++ b/src/synfig/valuenode_weightedaverage.cpp
@@ -0,0 +1,113 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_weightedaverage.cpp
+**	\brief Implementation of the "Weighted Average" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_weightedaverage.h"
+#include "valuenode_const.h"
+#include "valueoperations.h"
+#include "canvas.h"
+#include "weightedvalue.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_WeightedAverage::ValueNode_WeightedAverage(const ValueBase &value, Canvas::LooseHandle canvas):
+	ValueNode_DynamicList(ValueAverage::convert_to_weighted_type(value.get_type()), value.get_type(), canvas)
+{
+	if (!check_type(value.get_type()))
+	{
+		assert(0);
+		throw runtime_error(get_local_name()+_(":Bad type ")+value.get_type().description.local_name);
+	}
+}
+
+ValueNode_WeightedAverage::ValueNode_WeightedAverage(Type &type, Canvas::LooseHandle canvas):
+	ValueNode_DynamicList(ValueAverage::convert_to_weighted_type(type), type, canvas)
+{
+	if (!check_type(type))
+	{
+		assert(0);
+		throw runtime_error(get_local_name()+_(":Bad type ")+type.description.local_name);
+	}
+}
+
+ValueNode_WeightedAverage::~ValueNode_WeightedAverage() { }
+
+ValueNode_WeightedAverage*
+ValueNode_WeightedAverage::create(const ValueBase &value, Canvas::LooseHandle canvas)
+{ 
+	ValueNode_WeightedAverage* value_node(new ValueNode_WeightedAverage(value, canvas));
+	
+	types_namespace::TypeWeightedValueBase *t = ValueAverage::get_weighted_type_for(value_node->get_type());
+	assert(t != NULL);
+
+	value_node->ref();
+	value_node->add(ValueNode::Handle(ValueNode_Const::create(t->create_weighted_value(1, value), canvas)));
+	value_node->unref_inactive();
+	
+	return value_node;
+}
+
+ValueBase
+ValueNode_WeightedAverage::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+	return ValueAverage::average_weighted(ValueNode_DynamicList::operator()(t), ValueBase(get_type()));
+}
+
+String
+ValueNode_WeightedAverage::get_name()const
+	{ return "weighted_average"; }
+
+String
+ValueNode_WeightedAverage::get_local_name()const
+	{ return _("weighted Average"); }
+
+LinkableValueNode*
+ValueNode_WeightedAverage::create_new()const
+	{ return new ValueNode_WeightedAverage(get_type()); }
+
+bool
+ValueNode_WeightedAverage::check_type(Type &type)
+	{ return ValueAverage::check_type(type); }
diff --git a/src/synfig/valuenode_greyed.h b/src/synfig/valuenode_weightedaverage.h
similarity index 57%
copy from src/synfig/valuenode_greyed.h
copy to src/synfig/valuenode_weightedaverage.h
index 7cefd57..0c8fb9c 100644
--- a/src/synfig/valuenode_greyed.h
+++ b/src/synfig/valuenode_weightedaverage.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_greyed.h
-**	\brief Header file for implementation of the "Greyed" valuenode conversion.
+/*!	\file valuenode_weightedaverage.h
+**	\brief Header file for implementation of the "Weighted Average" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2008 Chris Moore
-**  Copyright (c) 2011 Carlos López
+**	......... ... 2014 Ivan Mahonin
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,12 +22,12 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_GREYED_H
-#define __SYNFIG_VALUENODE_GREYED_H
+#ifndef __SYNFIG_VALUENODE_WEIGHTEDAVERAGE_H
+#define __SYNFIG_VALUENODE_WEIGHTEDAVERAGE_H
 
 /* === H E A D E R S ======================================================= */
 
-#include "valuenode_reference.h"
+#include "valuenode_dynamiclist.h"
 
 /* === M A C R O S ========================================================= */
 
@@ -36,12 +35,19 @@
 
 namespace synfig {
 
-class ValueNode_Greyed : public ValueNode_Reference
+namespace types_namespace { class TypeWeightedValueBase; }
+
+class ValueNode_WeightedAverage : public ValueNode_DynamicList
 {
 public:
-	typedef etl::handle<ValueNode_Greyed> Handle;
-	ValueNode_Greyed(const ValueBase::Type &x);
-	ValueNode_Greyed(const ValueNode::Handle &x);
+	typedef etl::handle<ValueNode_WeightedAverage> Handle;
+	typedef etl::handle<const ValueNode_WeightedAverage> ConstHandle;
+
+	ValueNode_WeightedAverage(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
+	ValueNode_WeightedAverage(Type &type, etl::loose_handle<Canvas> canvas = 0);
+	virtual ~ValueNode_WeightedAverage();
+
+ 	virtual ValueBase operator()(Time t)const;
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
@@ -50,9 +56,9 @@ protected:
 	LinkableValueNode* create_new()const;
 
 public:
-	static ValueNode_Greyed* create(const ValueBase &x);
-	virtual Vocab get_children_vocab_vfunc()const;
-}; // END of class ValueNode_Greyed
+	static bool check_type(Type &type);
+	static ValueNode_WeightedAverage* create(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
+}; // END of class ValueNode_WeightedAverage
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/valuenode_wplist.cpp b/src/synfig/valuenode_wplist.cpp
index f3e636b..0738eef 100644
--- a/src/synfig/valuenode_wplist.cpp
+++ b/src/synfig/valuenode_wplist.cpp
@@ -59,13 +59,13 @@ synfig::convert_bline_to_wplist(const ValueBase& bline)
 {
 	// returns if the parameter is not a list or if it is a list, it is empty
 	if(bline.empty())
-		return ValueBase(ValueBase::TYPE_LIST);
+		return ValueBase(type_list);
 	// returns if the contained type is not blinepoint
-	if(bline.get_contained_type()!=ValueBase::TYPE_BLINEPOINT)
-		return ValueBase(ValueBase::TYPE_LIST);
+	if(bline.get_contained_type()!=type_bline_point)
+		return ValueBase(type_list);
 
 	std::vector<WidthPoint> ret;
-	std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
+	std::vector<BLinePoint> list(bline.get_list_of(BLinePoint()));
 	std::vector<BLinePoint>::const_iterator iter;
 	Real position, totalpoints, i(0);
 	totalpoints=(Real)list.size();
@@ -204,7 +204,7 @@ synfig::widthpoint_interpolate(const WidthPoint& prev, const WidthPoint& next, c
 
 
 ValueNode_WPList::ValueNode_WPList():
-	ValueNode_DynamicList(ValueBase::TYPE_WIDTHPOINT)
+	ValueNode_DynamicList(type_width_point)
 {
 }
 
@@ -216,18 +216,16 @@ ValueNode_WPList*
 ValueNode_WPList::create(const ValueBase &value)
 {
 	// if the parameter is not a list type, return null
-	if(value.get_type()!=ValueBase::TYPE_LIST)
+	if(value.get_type()!=type_list)
 		return NULL;
 	// create an empty list
 	ValueNode_WPList* value_node(new ValueNode_WPList());
 	// If the value parameter is not empty
 	if(!value.empty())
 	{
-		switch(value.get_contained_type())
+		if (value.get_contained_type() == type_width_point)
 		{
-		case ValueBase::TYPE_WIDTHPOINT:
-		{
-			std::vector<WidthPoint> list(value.get_list().begin(),value.get_list().end());
+			std::vector<WidthPoint> list(value.get_list_of(WidthPoint()));
 			std::vector<WidthPoint>::const_iterator iter;
 
 			for(iter=list.begin();iter!=list.end();iter++)
@@ -236,12 +234,11 @@ ValueNode_WPList::create(const ValueBase &value)
 			}
 			value_node->set_loop(value.get_loop());
 		}
-			break;
-		default:
+		else
+		{
 			// We got a list of who-knows-what. We don't have any idea
 			// what to do with it.
 			return NULL;
-			break;
 		}
 	}
 
@@ -367,9 +364,9 @@ ValueNode_WPList::create_new()const
 }
 
 bool
-ValueNode_WPList::check_type(ValueBase::Type type)
+ValueNode_WPList::check_type(Type &type)
 {
-	return type==ValueBase::TYPE_LIST;
+	return type==type_list;
 }
 
 synfig::WidthPoint
diff --git a/src/synfig/valuenode_wplist.h b/src/synfig/valuenode_wplist.h
index 4cafce8..9c2a034 100644
--- a/src/synfig/valuenode_wplist.h
+++ b/src/synfig/valuenode_wplist.h
@@ -113,9 +113,9 @@ protected:
 
 public:
 
-	static bool check_type(ValueBase::Type type);
+	static bool check_type(Type &type);
 	// Creates a Value Node Width Point List from another compatible list
-	static ValueNode_WPList* create(const ValueBase &x=ValueBase::TYPE_LIST);
+	static ValueNode_WPList* create(const ValueBase &x=type_list);
 }; // END of class ValueNode_WPList
 
 typedef ValueNode_WPList::ListEntry::ActivepointList ActivepointList;
diff --git a/src/synfig/valueoperations.cpp b/src/synfig/valueoperations.cpp
new file mode 100644
index 0000000..e3b4191
--- /dev/null
+++ b/src/synfig/valueoperations.cpp
@@ -0,0 +1,144 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valueoperations.cpp
+**	\brief Implementation of common operations with ValueBase.
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valueoperations.h"
+#include "weightedvalue.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+types_namespace::TypeWeightedValueBase *ValueAverage::allowed_types[] =
+{
+	&types_namespace::TypeWeightedValue<Real>::instance,
+	&types_namespace::TypeWeightedValue<BLinePoint>::instance,
+	&types_namespace::TypeWeightedValue<Matrix>::instance,
+	&types_namespace::TypeWeightedValue<Segment>::instance,
+	&types_namespace::TypeWeightedValue<Transformation>::instance,
+	&types_namespace::TypeWeightedValue<Vector>::instance,
+	&types_namespace::TypeWeightedValue<WidthPoint>::instance
+};
+
+types_namespace::TypeWeightedValueBase* ValueAverage::get_weighted_type_for(Type &type)
+{
+	for(unsigned int i = 0; i < sizeof(allowed_types)/sizeof(allowed_types[0]); ++i)
+		if (allowed_types[i]->get_contained_type() == type)
+			return allowed_types[i];
+	return NULL;
+}
+
+Type& ValueAverage::get_type_from_weighted(Type& type)
+{
+	for(unsigned int i = 0; i < sizeof(allowed_types)/sizeof(allowed_types[0]); ++i)
+		if (allowed_types[i] == &type)
+			return allowed_types[i]->get_contained_type();
+	return type_nil;
+}
+
+Type& ValueAverage::convert_to_weighted_type(Type &type)
+{
+	Type* t = get_weighted_type_for(type);
+	return t == NULL ? type_nil : *t;
+}
+
+bool ValueAverage::check_weighted_type(Type& type) {
+	for(unsigned int i = 0; i < sizeof(allowed_types)/sizeof(allowed_types[0]); ++i)
+		if (allowed_types[i] == &type)
+			return true;
+	return false;
+}
+
+ValueBase ValueAverage::average_weighted(const ValueBase &weighted_list, const ValueBase &default_value)
+{
+	if (weighted_list.get_type() != type_list) return default_value;
+
+	const ValueBase::List &list = weighted_list.get_list();
+	ValueBase::List values_list;
+	values_list.reserve(list.size());
+	std::vector<Real> weights_list;
+	weights_list.reserve(list.size());
+	for(ValueBase::List::const_iterator i = list.begin(); i != list.end(); ++i) {
+		types_namespace::TypeWeightedValueBase *t =
+			dynamic_cast<types_namespace::TypeWeightedValueBase *>(&(i->get_type()));
+		if (t == NULL) continue;
+		if (!check_weighted_type(*t)) continue;
+		weights_list.push_back( t->extract_weight(*i) );
+		values_list.push_back( t->extract_value(*i) );
+	}
+	return average_generic(
+		values_list.begin(), values_list.end(),
+		weights_list.begin(), weights_list.end(),
+		default_value );
+}
+
+void ValueAverage::set_average_value_weighted(ValueBase &weighted_list, const ValueBase &value)
+{
+	if (weighted_list.get_type() != type_list) return;
+
+	ValueBase::List list = weighted_list.get_list();
+	if (list.empty()) return;
+	types_namespace::TypeWeightedValueBase *t =
+		dynamic_cast<types_namespace::TypeWeightedValueBase *>(&(list.front().get_type()));
+	if (t == NULL) return;
+	if (!check_weighted_type(*t)) return;
+
+	ValueBase::List values_list;
+	values_list.reserve(list.size());
+	std::vector<Real> weights_list;
+	weights_list.reserve(list.size());
+	for(ValueBase::List::const_iterator i = list.begin(); i != list.end(); ++i) {
+		if (i->get_type() != *t) return;
+		weights_list.push_back( t->extract_weight(*i) );
+		values_list.push_back( t->extract_value(*i) );
+	}
+	set_average_value_generic(
+		values_list.begin(), values_list.end(),
+		weights_list.begin(), weights_list.end(),
+		value );
+
+	std::vector<Real>::const_iterator j = weights_list.begin();
+	for(ValueBase::List::const_iterator i = values_list.begin(); i != values_list.end(); ++i, ++j)
+		list[i - values_list.begin()] = t->create_weighted_value(*j, *i);
+	weighted_list = list;
+}
+
diff --git a/src/synfig/valueoperations.h b/src/synfig/valueoperations.h
new file mode 100644
index 0000000..1022934
--- /dev/null
+++ b/src/synfig/valueoperations.h
@@ -0,0 +1,428 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valueoperations.h
+**	\brief Common operations with ValueBase
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_VALUEOPERATIONS_H
+#define __SYNFIG_VALUEOPERATIONS_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "value.h"
+#include "transformation.h"
+#include <vector>
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+namespace types_namespace { class TypeWeightedValueBase; }
+
+/*!	\class ValueVector
+**	\todo writeme
+*/
+class ValueVector
+{
+private:
+	//! it's static class
+	ValueVector() { }
+
+public:
+	static bool check_type(Type &type) {
+		return type == type_bline_point
+			|| type == type_matrix
+			|| type == type_transformation
+			|| type == type_vector;
+	}
+
+	static bool check_type(const ValueBase &value)
+		{ return check_type(value.get_type()); }
+
+	static Vector get_vector(const ValueBase &value) {
+		Type &type(value.get_type());
+		if (type == type_bline_point)
+			return value.get(BLinePoint()).get_vertex();
+		else
+		if (type == type_matrix)
+			return value.get(Matrix()).get_transformed(Vector(0, 0));
+		else
+		if (type == type_transformation)
+			return value.get(Transformation()).transform(Vector(0,0));
+		else
+		if (type == type_vector)
+			return value.get(Vector());
+		return Vector(0, 0);
+	}
+};
+
+
+/*!	\class ValueTransformation
+**	\todo writeme
+*/
+class ValueTransformation
+{
+private:
+	//! it's static class
+	ValueTransformation() { }
+
+public:
+	static bool check_type(Type &type) {
+		return type == type_angle
+			|| type == type_bline_point
+			|| type == type_matrix
+			|| type == type_segment
+			|| type == type_transformation
+			|| type == type_vector
+			|| type == type_width_point;
+	}
+
+	static bool check_type(const ValueBase &value)
+		{ return check_type(value.get_type()); }
+
+	static ValueBase transform(const Transformation &transformation, const ValueBase &value) {
+		Type &type(value.get_type());
+		if (type == type_angle)
+			return value.get(Angle()) + transformation.angle;
+		else
+		if (type == type_bline_point)
+		{
+			BLinePoint bp(value.get(BLinePoint()));
+			bp.set_vertex( transformation.transform(bp.get_vertex()) );
+			bp.set_tangent1( transformation.transform(bp.get_tangent1(), false) );
+			bp.set_tangent2( transformation.transform(bp.get_tangent2(), false) );
+			return bp;
+		}
+		else
+		if (type == type_matrix)
+			return transformation.transform(value.get(Matrix()));
+		else
+		if (type == type_segment)
+		{
+			Segment s(value.get(Segment()));
+			s.p1 = transformation.transform(s.p1);
+			s.t1 = transformation.transform(s.t1, false);
+			s.p2 = transformation.transform(s.p2);
+			s.t2 = transformation.transform(s.t2, false);
+			return s;
+		}
+		else
+		if (type == type_transformation)
+			return transformation.transform(value.get(Transformation()));
+		else
+		if (type == type_vector)
+			return transformation.transform(value.get(Vector()));
+		else
+		if (type == type_width_point)
+		{
+			WidthPoint wp(value.get(WidthPoint()));
+			wp.set_width( wp.get_width()*transformation.scale[1] );
+			return wp;
+		}
+		return value;
+	}
+
+	static ValueBase back_transform(const Transformation &transformation, const ValueBase &value)
+		{ return transform(transformation.get_back_transformation(), value); }
+};
+
+/*!	\class ValueAverage
+**	\todo writeme
+*/
+class ValueAverage
+{
+private:
+	//! it's static class
+	ValueAverage() { }
+
+	static types_namespace::TypeWeightedValueBase *allowed_types[];
+
+public:
+	static types_namespace::TypeWeightedValueBase* get_weighted_type_for(Type &type);
+	static Type& convert_to_weighted_type(Type &type);
+	static Type& get_type_from_weighted(Type& type);
+
+	static bool check_weighted_type(Type& type);
+	static bool check_type(Type& type)
+		{ return get_weighted_type_for(type) != NULL; }
+	static bool check_type(const ValueBase &value)
+		{ return check_type(value.get_type()); }
+
+	static ValueBase add(const ValueBase &value_a, const ValueBase &value_b, const ValueBase &default_value)
+	{
+		if (value_a.get_type() != value_b.get_type()) return default_value;
+
+		Type &type(value_a.get_type());
+		if (type == type_real)
+			return value_a.get(Real()) + value_b.get(Real());
+		else
+		if (type == type_bline_point)
+		{
+			BLinePoint res(value_a.get(BLinePoint()));
+			const BLinePoint &b = value_b.get(BLinePoint());
+			res.set_vertex( res.get_vertex() + b.get_vertex() );
+			res.set_tangent1( res.get_tangent1() + b.get_tangent1() );
+			res.set_tangent2( res.get_tangent2() + b.get_tangent2() );
+			return res;
+		}
+		else
+		if (type == type_matrix)
+			return value_a.get(Matrix()) + value_b.get(Matrix());
+		else
+		if (type == type_segment)
+		{
+			Segment res(value_a.get(Segment()));
+			const Segment &b = value_b.get(Segment());
+			res.p1 += b.p1;
+			res.t1 += b.t1;
+			res.p2 += b.p2;
+			res.t2 += b.t2;
+			return res;
+		}
+		else
+		if (type == type_transformation)
+			return Transformation(
+				value_a.get(Transformation()).get_matrix()
+			  + value_b.get(Transformation()).get_matrix() );
+		else
+		if (type == type_vector)
+			return value_a.get(Vector()) + value_b.get(Vector());
+		else
+		if (type == type_width_point)
+		{
+			WidthPoint res(value_a.get(WidthPoint()));
+			const WidthPoint &b = value_b.get(WidthPoint());
+			res.set_width( res.get_width() + b.get_width() );
+			return res;
+		}
+
+		return default_value;
+	}
+
+	static ValueBase add(const ValueBase &value_a, const ValueBase &value_b)
+		{ return add(value_a, value_b, value_a); }
+
+	static ValueBase multiply(const ValueBase &value, Real amplifier)
+	{
+		Type &type(value.get_type());
+		if (type == type_real)
+			return value.get(Real()) * amplifier;
+		else
+		if (type == type_bline_point)
+		{
+			BLinePoint res(value.get(BLinePoint()));
+			res.set_vertex( res.get_vertex() * amplifier );
+			res.set_tangent1( res.get_tangent1() * amplifier );
+			res.set_tangent2( res.get_tangent2() * amplifier );
+			return res;
+		}
+		else
+		if (type == type_matrix)
+			return value.get(Matrix()) * amplifier;
+		else
+		if (type == type_segment)
+		{
+			Segment res(value.get(Segment()));
+			res.p1 *= amplifier;
+			res.t1 *= amplifier;
+			res.p2 *= amplifier;
+			res.t2 *= amplifier;
+			return res;
+		}
+		else
+		if (type == type_transformation)
+			return Transformation( value.get(Transformation()).get_matrix() * amplifier );
+		else
+		if (type == type_vector)
+			return value.get(Vector()) * amplifier;
+		else
+		if (type == type_width_point)
+		{
+			WidthPoint res(value.get(WidthPoint()));
+			res.set_width( res.get_width() * amplifier );
+			return res;
+		}
+
+		return value;
+	}
+
+	// iterators should provide following operations:
+	// comparison i == j, increment ++i, indirection *i, copy constructor i(j)
+	template<typename ConstIterator, typename ConstWeightIterator>
+	static ValueBase average_generic(
+		ConstIterator begin,
+		ConstIterator end,
+		ConstWeightIterator weight_begin,
+		ConstWeightIterator weight_end,
+		const ValueBase &default_value = ValueBase() )
+	{
+		if (begin == end) return ValueBase();
+
+		// check values
+		int count = 0;
+		Type &type = (*begin).get_type();
+		if (!check_type(type)) return ValueBase();
+		for(ConstIterator i(begin); !(i == end); ++i, ++count)
+			if ((*i).get_type() != type) return ValueBase();
+
+		// check weights
+		bool weights = !(weight_begin == weight_end);
+		Real summary_weight = 0.0;
+		int weights_count = 0;
+		if (weights)
+			for(ConstWeightIterator i(weight_begin); !(i == weight_end) && weights_count < count; ++i, ++weights_count)
+				summary_weight += *i;
+		if (weights_count < count || summary_weight == 0.0) weights = false;
+		if (!weights) summary_weight = (Real)count;
+		Real amplifier = 1.0/summary_weight;
+
+		// process
+		ValueBase summary;
+		if (weights)
+		{
+			// weighted
+			ConstWeightIterator j(weight_begin);
+			ConstIterator i(begin);
+			summary = multiply(*i, (*j) * amplifier);
+			for(++i, ++j; !(i == end); ++i, ++j)
+				summary = add(summary, multiply(*i, (*j) * amplifier), ValueBase());
+		}
+		else
+		{
+			// simple
+			ConstIterator i(begin);
+			summary = multiply(*i, amplifier);
+			for(++i; !(i == end); ++i)
+				summary = add(summary, multiply(*i, amplifier), ValueBase());
+		}
+
+		return summary.get_type() == type_nil ? default_value : summary;
+	}
+
+	template<typename ConstIterator>
+	static ValueBase average_generic(ConstIterator begin, ConstIterator end, const ValueBase &default_value = ValueBase())
+		{ return average_generic(begin, end, (Real*)NULL, (Real*)NULL, default_value); }
+
+	static ValueBase average(const ValueBase &list, const ValueBase &weights, const ValueBase &default_value)
+	{
+		if (list.get_type() != type_list) return default_value;
+
+		const std::vector<ValueBase> &list_vector = list.get_list();
+		if (weights.get_type() == type_list)
+		{
+			std::vector<Real> weights_vector_real;
+			weights_vector_real.reserve(weights.get_list().size());
+			const std::vector<ValueBase> &weights_vector = weights.get_list();
+			for(std::vector<ValueBase>::const_iterator i = weights_vector.begin(); i != weights_vector.end(); ++i)
+				if (i->get_type() == type_real)
+					weights_vector_real.push_back(i->get(Real())); else break;
+			if (weights_vector.size() >= list_vector.size())
+				return average_generic(
+					list_vector.begin(), list_vector.end(),
+					weights_vector_real.begin(), weights_vector_real.end(),
+					default_value );
+		}
+		return average_generic(list_vector.begin(), list_vector.end(), default_value);
+	}
+
+	static ValueBase average(const ValueBase &list, const ValueBase &weights)
+		{ return average(list, weights, ValueBase()); }
+	static ValueBase average(const ValueBase &list)
+		{ return average(list, ValueBase()); }
+
+	static ValueBase average_weighted(const ValueBase &weighted_list, const ValueBase &default_value);
+	static ValueBase average_weighted(const ValueBase &weighted_list)
+		{ return average_weighted(weighted_list, ValueBase()); }
+
+
+	// iterators should provide following operations:
+	// comparison i == j, increment ++i, indirection *i, copy constructor i(j)
+	template<typename Iterator, typename ConstWeightIterator>
+	static void set_average_value_generic(
+		Iterator begin,
+		Iterator end,
+		ConstWeightIterator weight_begin,
+		ConstWeightIterator weight_end,
+		const ValueBase &value )
+	{
+		if (begin == end) return;
+
+		// check values
+		int count = 0;
+		Type &type = (*begin).get_type();
+		if (!check_type(type)) return;
+		for(Iterator i(begin); !(i == end); ++i, ++count)
+			if ((*i).get_type() != type) return;
+
+		// find difference
+		ValueBase previous_value = average_generic(begin, end, weight_begin, weight_end);
+		ValueBase difference = add(value, multiply(previous_value, -1.0));
+
+		// simple
+		for(Iterator i(begin); !(i == end); ++i)
+			*i = add(*i, difference);
+	}
+
+	template<typename Iterator>
+	static void set_average_value_generic(Iterator begin, Iterator end, const ValueBase &value)
+		{ set_average_value_generic(begin, end, (Real*)NULL, (Real*)NULL, value); }
+
+	static void set_average_value(ValueBase &list, const ValueBase &weights, const ValueBase &value)
+	{
+		if (list.get_type() != type_list) return;
+
+		std::vector<ValueBase> list_vector = list.get_list();
+		if (weights.get_type() == type_list)
+		{
+			std::vector<Real> weights_vector_real;
+			weights_vector_real.reserve(weights.get_list().size());
+			const std::vector<ValueBase> &weights_vector = weights.get_list();
+			for(std::vector<ValueBase>::const_iterator i = weights_vector.begin(); i != weights_vector.end(); ++i)
+				if (i->get_type() == type_real)
+					weights_vector_real.push_back(i->get(Real())); else break;
+			if (weights_vector.size() >= list_vector.size())
+			{
+				set_average_value_generic(
+					list_vector.begin(), list_vector.end(),
+					weights_vector_real.begin(), weights_vector_real.end(),
+					value );
+				return;
+			}
+		}
+		set_average_value_generic(list_vector.begin(), list_vector.end(), value);
+		list = list_vector;
+	}
+
+	static void set_average_value(ValueBase &list, const ValueBase &value)
+		{ return set_average_value(list, ValueBase(), value); }
+
+	static void set_average_value_weighted(ValueBase &weighted_list, const ValueBase &value);
+};
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/valuetransformation.h b/src/synfig/valuetransformation.h
new file mode 100644
index 0000000..14a1106
--- /dev/null
+++ b/src/synfig/valuetransformation.h
@@ -0,0 +1,116 @@
+
+/* === S Y N F I G ========================================================= */
+/*!	\file value_transformation.h
+**	\brief Affine Transformation of ValueBase class
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_VALUE_TRANSFORMATION_H
+#define __SYNFIG_VALUE_TRANSFORMATION_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "value.h"
+#include "transformation.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+/*!	\class ValueTransformation
+**	\todo writeme
+*/
+class ValueTransformation
+{
+private:
+	//! it's static class
+	ValueTransformation() { }
+
+public:
+	static bool check_type(Type &type) {
+		return type == type_angle
+			|| type == type_bline_point
+			|| type == type_matrix
+			|| type == type_segment
+			|| type == type_transformation
+			|| type == type_vector
+			|| type == type_width_point;
+	}
+
+	static bool check_type(const ValueBase &value)
+		{ return check_type(value.get_type()); }
+
+	static ValueBase transform(const Transformation &transformation, const ValueBase &value) {
+		Type &type(value.get_type());
+		if (type == type_angle)
+			return value.get(Angle()) + transformation.angle;
+		else
+		if (type == type_bline_point)
+		{
+			BLinePoint bp(value.get(BLinePoint()));
+			bp.set_vertex( transformation.transform(bp.get_vertex()) );
+			bp.set_tangent1( transformation.transform(bp.get_tangent1(), false) );
+			bp.set_tangent2( transformation.transform(bp.get_tangent2(), false) );
+			return bp;
+		}
+		else
+		if (type == type_matrix)
+			return transformation.transform(value.get(Matrix()));
+		else
+		if (type == type_segment)
+		{
+			Segment s(value.get(Segment()));
+			s.p1 = transformation.transform(s.p1);
+			s.t1 = transformation.transform(s.t1, false);
+			s.p2 = transformation.transform(s.p2);
+			s.t2 = transformation.transform(s.t2, false);
+			return s;
+		}
+		else
+		if (type == type_transformation)
+			return transformation.transform(value.get(Transformation()));
+		else
+		if (type == type_vector)
+			return transformation.transform(value.get(Vector()));
+		else
+		if (type == type_width_point)
+		{
+			WidthPoint wp(value.get(WidthPoint()));
+			wp.set_width( wp.get_width()*transformation.scale[1] );
+			return wp;
+		}
+
+		return value;
+	}
+
+	static ValueBase back_transform(const Transformation &transformation, const ValueBase &value)
+		{ return transform(transformation.get_back_transformation(), value); }
+};
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/vector.h b/src/synfig/vector.h
index 8764b13..6b1a3af 100644
--- a/src/synfig/vector.h
+++ b/src/synfig/vector.h
@@ -34,15 +34,6 @@
 
 /* === M A C R O S ========================================================= */
 
-
-#ifdef WIN32
-#include <float.h>
-#ifndef isnan
-extern "C" { int _isnan(double x); }
-#define isnan _isnan
-#endif
-#endif
-
 // For some reason isnan() isn't working on macosx any more.
 // This is a quick fix.
 #if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
@@ -52,10 +43,19 @@ extern "C" { int _isnan(double x); }
 inline bool isnan(double x) { return x != x; }
 inline bool isnan(float x) { return x != x; }
 #define SYNFIG_ISNAN_FIX 1
+#ifdef isinf
+#undef isinf
+#endif
+inline bool isinf(double x) { return !isnan(x) && isnan(x - x); }
+inline bool isinf(float x) { return !isnan(x) && isnan(x - x); }
+#define SYNFIG_ISINF_FIX 1
 #else
 #ifndef isnan
 #define isnan(x) (std::isnan)(x)
 #endif
+#ifndef isinf
+#define isinf(x) (std::isinf)(x)
+#endif
 #endif
 
 
@@ -79,8 +79,13 @@ private:
 public:
 	Vector(): _x(0.0), _y(0.0) { };
 	Vector(const value_type &x, const value_type &y):_x(x),_y(y) { };
+	Vector(const value_type &radius, const Angle &angle):
+	_x(radius*Angle::cos(angle).get()),
+	_y(radius*Angle::sin(angle).get())
+	{ };
 
 	bool is_valid()const { return !(isnan(_x) || isnan(_y)); }
+	bool is_nan_or_inf()const { return isnan(_x) || isnan(_y) || isinf(_x) || isinf(_y); }
 
 	value_type &
 	operator[](const int& i)
@@ -186,6 +191,19 @@ public:
 	}
 
 	static const Vector zero() { return Vector(0,0); }
+
+	Vector multiply_coords(const Vector &rhs) const
+		{ return Vector(_x*rhs._x, _y*rhs._y); }
+	Vector divide_coords(const Vector &rhs) const
+		{ return Vector(_x/rhs._x, _y/rhs._y); }
+	Vector one_divide_coords() const
+		{ return Vector(1.0/_x, 1.0/_y); }
+	Vector rotate(const Angle &rhs) const
+	{
+		value_type s = Angle::sin(rhs).get();
+		value_type c = Angle::cos(rhs).get();
+		return Vector(c*_x - s*_y, s*_x + c*_y);
+	}
 };
 
 /*!	\typedef Point
diff --git a/src/synfig/version.h b/src/synfig/version.h
index aba3cfd..f7bd2df 100644
--- a/src/synfig/version.h
+++ b/src/synfig/version.h
@@ -40,14 +40,14 @@
 **	revision release.
 */
 #ifndef SYNFIG_VERSION
-#define SYNFIG_VERSION (006000)
+#define SYNFIG_VERSION (010000)
 #endif
 
 /*!	Increment this value whenever
 **	the library changes in a way
 **	that breaks library compatibility
 */
-#define SYNFIG_LIBRARY_VERSION	47
+#define SYNFIG_LIBRARY_VERSION	48
 
 /*! \writeme */
 #define SYNFIG_CHECK_VERSION()	synfig::check_version_(SYNFIG_LIBRARY_VERSION,sizeof(synfig::Vector),sizeof(synfig::Color),sizeof(synfig::Canvas),sizeof(synfig::Layer))
diff --git a/src/synfig/waypoint.cpp b/src/synfig/waypoint.cpp
index 9232f81..519cc5f 100644
--- a/src/synfig/waypoint.cpp
+++ b/src/synfig/waypoint.cpp
@@ -61,7 +61,7 @@ Waypoint::Waypoint(ValueBase value, Time time):
 	time_tension(0.0f)
 {
 	//!Writeme
-	if(value.get_type()==ValueBase::TYPE_ANGLE)
+	if(value.get_type()==type_angle)
 		after=before=INTERPOLATION_LINEAR;
 }
 
@@ -76,7 +76,7 @@ Waypoint::Waypoint(etl::handle<ValueNode> value_node, Time time):
 	bias(0),
 	time_tension(0.0f)
 {
-	if(value_node->get_type()==ValueBase::TYPE_ANGLE)
+	if(value_node->get_type()==type_angle)
 		after=before=INTERPOLATION_LINEAR;
 }
 
@@ -96,7 +96,7 @@ Waypoint::set_value(const ValueBase &x)
 {
 	//! If the value node is not set and we are seting the value
 	//! of an angle, then set both interpolation to linear... why?
-	if(!value_node && x.get_type()==ValueBase::TYPE_ANGLE)
+	if(!value_node && x.get_type()==type_angle)
 		after=before=INTERPOLATION_LINEAR;
 
 	value_node=ValueNode_Const::create(x);
@@ -111,7 +111,7 @@ Waypoint::set_value_node(const etl::handle<ValueNode> &x)
 	//! If the value node is not set and we are seting the value
 	//! of an angle, then set both interpolation to linear... why?
 
-	if(!value_node && x->get_type()==ValueBase::TYPE_ANGLE)
+	if(!value_node && x->get_type()==type_angle)
 		after=before=INTERPOLATION_LINEAR;
 
 	if (value_node == x)
diff --git a/src/synfig/weightedvalue.h b/src/synfig/weightedvalue.h
new file mode 100644
index 0000000..5fb83f7
--- /dev/null
+++ b/src/synfig/weightedvalue.h
@@ -0,0 +1,101 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file weightedvalue.h
+**	\brief A weighted value template
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2014 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_WEIGHTEDVALUE_H
+#define __SYNFIG_WEIGHTEDVALUE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "real.h"
+#include "type.h"
+#include "value.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+template<typename T>
+class WeightedValue
+{
+public:
+	typedef T ValueType;
+	Real weight;
+	ValueType value;
+	WeightedValue(): weight(), value() { }
+	explicit WeightedValue(Real weight): weight(weight), value() { }
+	explicit WeightedValue(Real weight, const ValueType &value): weight(weight), value(value) { }
+};
+
+namespace types_namespace {
+	class TypeWeightedValueBase: public Type
+	{
+	public:
+		virtual Type& get_contained_type() = 0;
+		virtual ValueBase create_weighted_value(Real weight, const ValueBase &value) = 0;
+		virtual Real extract_weight(const ValueBase &value) = 0;
+		virtual ValueBase extract_value(const ValueBase &value) = 0;
+	};
+
+	template<typename T>
+	class TypeWeightedValue: public TypeWeightedValueBase
+	{
+		static String to_string(const WeightedValue<T> &x) {
+			return etl::strprintf("Weight (%f) %s", x.weight, value_to_string(x.value).c_str());
+		}
+		void initialize_vfunc(Description &description)
+		{
+			Type &type = get_type_alias(T()).type;
+			type.initialize();
+
+			Type::initialize_vfunc(description);
+			description.name = "weighted_" + type.description.name;
+			description.local_name = N_("weighted") + String(" ") + type.description.local_name;
+			register_all_but_compare<WeightedValue<T>, TypeWeightedValue<T>::to_string>();
+		}
+		Type& get_contained_type() { return get_type_alias(T()).type; }
+		ValueBase create_weighted_value(Real weight, const ValueBase &value)
+			{ return WeightedValue<T>(weight, value.get(T())); };
+		Real extract_weight(const ValueBase &value)
+			{ return value.get(WeightedValue<T>()).weight; };
+		ValueBase extract_value(const ValueBase &value)
+			{ return value.get(WeightedValue<T>()).value; };
+	public:
+		static TypeWeightedValue instance;
+	};
+
+	template<typename T>
+	TypeWeightedValue<T> TypeWeightedValue<T>::instance;
+
+	template<typename T>
+	TypeAlias< WeightedValue<T> > get_type_alias(WeightedValue<T> const&) { return TypeAlias< WeightedValue<T> >(TypeWeightedValue<T>::instance); }
+}
+
+
+}; // END of namespace synfig
+
+#endif
diff --git a/src/synfig/zstreambuf.cpp b/src/synfig/zstreambuf.cpp
new file mode 100644
index 0000000..7ec882d
--- /dev/null
+++ b/src/synfig/zstreambuf.cpp
@@ -0,0 +1,175 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file zstreambuf.cpp
+**	\brief zstreambuf
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include <cstring>
+#include "zstreambuf.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+zstreambuf::zstreambuf(std::streambuf *buf):
+	buf_(buf),
+	inflate_initialized(false),
+	deflate_initialized(false)
+{
+}
+
+zstreambuf::~zstreambuf()
+{
+	sync();
+	if (inflate_initialized) inflateEnd(&inflate_stream_);
+	if (deflate_initialized) deflateEnd(&deflate_stream_);
+}
+
+bool zstreambuf::inflate_buf()
+{
+    // initialize inflate if need
+    if (!inflate_initialized)
+    {
+    	memset(&inflate_stream_, 0, sizeof(inflate_stream_));
+    	if (Z_OK != inflateInit2(&inflate_stream_, option_window_bits)) return false;
+    	inflate_initialized = true;
+    }
+
+    // read and inflate new chunk of data
+    char in_buf[option_bufsize];
+    inflate_stream_.avail_in = buf_->sgetn(in_buf, sizeof(in_buf));
+    inflate_stream_.next_in = (Bytef*)in_buf;
+	read_buffer_.resize(0);
+	do
+	{
+		inflate_stream_.avail_out = option_bufsize;
+		read_buffer_.resize(read_buffer_.size() + inflate_stream_.avail_out);
+		inflate_stream_.next_out = (Bytef*)(&read_buffer_.back() + 1 - inflate_stream_.avail_out);
+		int ret = ::inflate(&inflate_stream_, Z_NO_FLUSH);
+		read_buffer_.resize(read_buffer_.size() - inflate_stream_.avail_out);
+		if (ret != Z_OK) break;
+	} while (inflate_stream_.avail_out == 0);
+	assert(inflate_stream_.avail_in == 0);
+
+	// nothing to read
+	if (read_buffer_.empty()) return false;
+
+	// set new read buffer
+	char *pointer = &read_buffer_.front();
+    setg(pointer, pointer, pointer + read_buffer_.size());
+    return true;
+}
+
+bool zstreambuf::deflate_buf(bool flush)
+{
+	if (pbase() != NULL && pptr() > pbase())
+	{
+		// initialize deflate if need
+		if (!deflate_initialized)
+		{
+			memset(&deflate_stream_, 0, sizeof(deflate_stream_));
+
+			if (Z_OK != deflateInit2(&deflate_stream_,
+					option_compression_level,
+					option_method,
+					option_window_bits,
+					option_mem_level,
+					option_strategy
+			)) return false;
+
+			deflate_initialized = true;
+		}
+
+		// deflate and write new chunk of data
+		char out_buf[option_bufsize];
+		deflate_stream_.avail_in = (uInt)(pptr() - pbase());
+		deflate_stream_.next_in = (Bytef*)pbase();
+		do
+		{
+			deflate_stream_.avail_out = sizeof(out_buf);
+			deflate_stream_.next_out = (Bytef*)out_buf;
+			if (Z_STREAM_ERROR == deflate(&deflate_stream_, flush ? Z_FINISH : Z_NO_FLUSH))
+				return false;
+			if (deflate_stream_.avail_out < sizeof(out_buf))
+				buf_->sputn(out_buf, sizeof(out_buf) - deflate_stream_.avail_out);
+		} while (deflate_stream_.avail_out == 0);
+		assert(deflate_stream_.avail_in == 0);
+		setp(NULL, NULL);
+	}
+	return true;
+}
+
+int zstreambuf::sync()
+{
+	bool deflate_success = deflate_buf(true);
+	bool buf_sync_success = 0 == buf_->pubsync();
+	return deflate_success && buf_sync_success ? 0 : -1;
+}
+
+int zstreambuf::underflow()
+{
+	// is it actually underflow?
+    if (gptr() < egptr()) return traits_type::to_int_type(*gptr());
+    if (!inflate_buf()) return EOF;
+	return *(unsigned char *)gptr();
+}
+
+int zstreambuf::overflow(int c)
+{
+	// flush
+	if (c == EOF) { sync(); return EOF; }
+
+	// save data and prepare new buffer
+	if (pptr() >= epptr())
+	{
+		if (!deflate_buf(false)) return EOF;
+		if (write_buffer_.size() < option_bufsize) write_buffer_.resize(option_bufsize);
+		char *pointer = &write_buffer_.front();
+		setp(pointer, pointer + write_buffer_.size());
+	}
+
+	// put character
+	*pptr() = traits_type::to_char_type(c);
+	pbump(1);
+	return c;
+}
+
+/* === E N T R Y P O I N T ================================================= */
+
diff --git a/src/synfig/zstreambuf.h b/src/synfig/zstreambuf.h
new file mode 100644
index 0000000..90b8354
--- /dev/null
+++ b/src/synfig/zstreambuf.h
@@ -0,0 +1,130 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file zstreambuf.h
+**	\brief zstreambuf
+**
+**	$Id$
+**
+**	\legal
+**	......... ... 2013 Ivan Mahonin
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_ZSTREAMBUF_H
+#define __SYNFIG_ZSTREAMBUF_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <streambuf>
+#include <istream>
+#include <ostream>
+#include <vector>
+#include <zlib.h>
+#include "filesystem.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+	class zstreambuf : public std::streambuf
+	{
+	public:
+		enum {
+			option_bufsize				= 4096,
+			option_method				= Z_DEFLATED,
+			option_compression_level	= 9,
+			option_window_bits			= 16+MAX_WBITS,
+			option_mem_level			= 9,
+			option_strategy				= Z_DEFAULT_STRATEGY
+		};
+
+	private:
+		std::streambuf *buf_;
+
+		bool inflate_initialized;
+		z_stream inflate_stream_;
+		std::vector<char> read_buffer_;
+
+		bool deflate_initialized;
+		z_stream deflate_stream_;
+		std::vector<char> write_buffer_;
+
+		bool inflate_buf();
+		bool deflate_buf(bool flush);
+
+	public:
+		explicit zstreambuf(std::streambuf *buf);
+		virtual ~zstreambuf();
+
+	protected:
+		virtual int sync();
+		virtual int underflow();
+		virtual int overflow(int c = EOF);
+	};
+
+	class ZReadStream : public FileSystem::ReadStream
+	{
+	private:
+		FileSystem::ReadStreamHandle stream_;
+		zstreambuf buf_;
+		std::istream istream_;
+
+	protected:
+		virtual size_t internal_read(void *buffer, size_t size)
+			{ return (size_t)istream_.read((char*)buffer, size).gcount(); }
+
+	public:
+		ZReadStream(FileSystem::ReadStreamHandle stream):
+			FileSystem::ReadStream(stream->file_system()),
+			stream_(stream),
+			buf_(stream_->rdbuf()),
+			istream_(&buf_)
+		{ }
+
+	};
+
+	class ZWriteStream : public FileSystem::WriteStream
+	{
+	private:
+		FileSystem::WriteStreamHandle stream_;
+		zstreambuf buf_;
+		std::ostream ostream_;
+
+	protected:
+		virtual size_t internal_write(const void *buffer, size_t size)
+		{
+			for(size_t i = 0; i < size; i++)
+				if (!ostream_.put(((const char*)buffer)[i]).good())
+					return i;
+			return size;
+		}
+
+	public:
+		ZWriteStream(FileSystem::WriteStreamHandle stream):
+			FileSystem::WriteStream(stream->file_system()),
+			stream_(stream),
+			buf_(stream_->rdbuf()),
+			ostream_(&buf_)
+		{ }
+	};
+}
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/tool/Makefile.am b/src/tool/Makefile.am
index 6b353fb..f43af83 100644
--- a/src/tool/Makefile.am
+++ b/src/tool/Makefile.am
@@ -19,7 +19,8 @@ synfig_SOURCES = \
 	named_type.h \
 	definitions.h \
 	progress.h \
-	renderprogress.h \
+	renderprogress.h   \
+	renderprogress.cpp \
 	job.h \
 	synfigtoolexception.h \
 	printing_functions.h \
@@ -28,6 +29,7 @@ synfig_SOURCES = \
 	optionsprocessor.cpp \
 	joblistprocessor.h \
 	joblistprocessor.cpp \
+	definitions.cpp \
 	main.cpp
 
 synfig_LDADD = \
@@ -35,7 +37,10 @@ synfig_LDADD = \
 	@SYNFIG_LIBS@ \
 	@OPENEXR_HALF_LIBS@ \
 	@BOOST_LDFLAGS@ \
-	@BOOST_PROGRAM_OPTIONS_LIB@
+	@BOOST_PROGRAM_OPTIONS_LIB@ \
+	@BOOST_SYSTEM_LIB@ \
+	@BOOST_FILESYSTEM_LIB@ \
+	@BOOST_CHRONO_LIB@
 
 synfig_CXXFLAGS = \
 	@SYNFIG_CFLAGS@
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
index e7acf0d..3659350 100644
--- a/src/tool/Makefile.in
+++ b/src/tool/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -87,7 +87,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -105,9 +108,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)"
 PROGRAMS = $(bin_PROGRAMS)
-am_synfig_OBJECTS = synfig-printing_functions.$(OBJEXT) \
+am_synfig_OBJECTS = synfig-renderprogress.$(OBJEXT) \
+	synfig-printing_functions.$(OBJEXT) \
 	synfig-optionsprocessor.$(OBJEXT) \
-	synfig-joblistprocessor.$(OBJEXT) synfig-main.$(OBJEXT)
+	synfig-joblistprocessor.$(OBJEXT) synfig-definitions.$(OBJEXT) \
+	synfig-main.$(OBJEXT)
 synfig_OBJECTS = $(am_synfig_OBJECTS)
 synfig_DEPENDENCIES = ../synfig/libsynfig.la
 AM_V_lt = $(am__v_lt_ at AM_V@)
@@ -207,9 +212,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -241,6 +249,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -278,6 +290,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -295,6 +308,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@
@@ -407,7 +422,8 @@ synfig_SOURCES = \
 	named_type.h \
 	definitions.h \
 	progress.h \
-	renderprogress.h \
+	renderprogress.h   \
+	renderprogress.cpp \
 	job.h \
 	synfigtoolexception.h \
 	printing_functions.h \
@@ -416,6 +432,7 @@ synfig_SOURCES = \
 	optionsprocessor.cpp \
 	joblistprocessor.h \
 	joblistprocessor.cpp \
+	definitions.cpp \
 	main.cpp
 
 synfig_LDADD = \
@@ -423,7 +440,10 @@ synfig_LDADD = \
 	@SYNFIG_LIBS@ \
 	@OPENEXR_HALF_LIBS@ \
 	@BOOST_LDFLAGS@ \
-	@BOOST_PROGRAM_OPTIONS_LIB@
+	@BOOST_PROGRAM_OPTIONS_LIB@ \
+	@BOOST_SYSTEM_LIB@ \
+	@BOOST_FILESYSTEM_LIB@ \
+	@BOOST_CHRONO_LIB@
 
 synfig_CXXFLAGS = \
 	@SYNFIG_CFLAGS@
@@ -522,10 +542,12 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-definitions.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-joblistprocessor.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-main.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-optionsprocessor.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-printing_functions.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/synfig-renderprogress.Po at am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -548,6 +570,20 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
+synfig-renderprogress.o: renderprogress.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-renderprogress.o -MD -MP -MF $(DEPDIR)/synfig-renderprogress.Tpo -c -o synfig-renderprogress.o `test -f 'renderprogress.cpp' || echo '$(srcdir)/'`renderprogress.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-renderprogress.Tpo $(DEPDIR)/synfig-renderprogress.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='renderprogress.cpp' object='synfig-renderprogress.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -c -o synfig-renderprogress.o `test -f 'renderprogress.cpp' || echo '$(srcdir)/'`renderprogress.cpp
+
+synfig-renderprogress.obj: renderprogress.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-renderprogress.obj -MD -MP -MF $(DEPDIR)/synfig-renderprogress.Tpo -c -o synfig-renderprogress.obj `if test -f 'renderprogress.cpp'; then $(CYGPATH_W) 'renderprogress.cpp'; else $(CYGPATH_W) '$(srcdir)/renderprogress.cpp'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-renderprogress.Tpo $(DEPDIR)/synfig-renderprogress.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='renderprogress.cpp' object='synfig-renderprogress.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -c -o synfig-renderprogress.obj `if test -f 'renderprogress.cpp'; then $(CYGPATH_W) 'renderprogress.cpp'; else $(CYGPATH_W) '$(srcdir)/renderprogress.cpp'; fi`
+
 synfig-printing_functions.o: printing_functions.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-printing_functions.o -MD -MP -MF $(DEPDIR)/synfig-printing_functions.Tpo -c -o synfig-printing_functions.o `test -f 'printing_functions.cpp' || echo '$(srcdir)/'`printing_functions.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-printing_functions.Tpo $(DEPDIR)/synfig-printing_functions.Po
@@ -590,6 +626,20 @@ synfig-joblistprocessor.obj: joblistprocessor.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -c -o synfig-joblistprocessor.obj `if test -f 'joblistprocessor.cpp'; then $(CYGPATH_W) 'joblistprocessor.cpp'; else $(CYGPATH_W) '$(srcdir)/joblistprocessor.cpp'; fi`
 
+synfig-definitions.o: definitions.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-definitions.o -MD -MP -MF $(DEPDIR)/synfig-definitions.Tpo -c -o synfig-definitions.o `test -f 'definitions.cpp' || echo '$(srcdir)/'`definitions.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-definitions.Tpo $(DEPDIR)/synfig-definitions.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='definitions.cpp' object='synfig-definitions.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -c -o synfig-definitions.o `test -f 'definitions.cpp' || echo '$(srcdir)/'`definitions.cpp
+
+synfig-definitions.obj: definitions.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-definitions.obj -MD -MP -MF $(DEPDIR)/synfig-definitions.Tpo -c -o synfig-definitions.obj `if test -f 'definitions.cpp'; then $(CYGPATH_W) 'definitions.cpp'; else $(CYGPATH_W) '$(srcdir)/definitions.cpp'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-definitions.Tpo $(DEPDIR)/synfig-definitions.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='definitions.cpp' object='synfig-definitions.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -c -o synfig-definitions.obj `if test -f 'definitions.cpp'; then $(CYGPATH_W) 'definitions.cpp'; else $(CYGPATH_W) '$(srcdir)/definitions.cpp'; fi`
+
 synfig-main.o: main.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(synfig_CXXFLAGS) $(CXXFLAGS) -MT synfig-main.o -MD -MP -MF $(DEPDIR)/synfig-main.Tpo -c -o synfig-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/synfig-main.Tpo $(DEPDIR)/synfig-main.Po
diff --git a/src/tool/definitions.cpp b/src/tool/definitions.cpp
new file mode 100644
index 0000000..c365df6
--- /dev/null
+++ b/src/tool/definitions.cpp
@@ -0,0 +1,100 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file tool/definitions.cpp
+**	\brief Implementation of the definitions header file for synfig tool
+**
+**	$Id$
+**
+**	\legal
+**  Copyright (c) 2014 Diego Barrios Romero
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+#include "definitions.h"
+#include "synfigtoolexception.h"
+
+#include <synfig/main.h>
+
+boost::shared_ptr<SynfigToolGeneralOptions> SynfigToolGeneralOptions::_instance;
+
+void SynfigToolGeneralOptions::create_singleton_instance(const char* argv0)
+{
+	_instance = boost::shared_ptr<SynfigToolGeneralOptions>(
+					new SynfigToolGeneralOptions(argv0));
+}
+
+SynfigToolGeneralOptions* SynfigToolGeneralOptions::instance()
+{
+	if (_instance.get() == NULL)
+	{
+		throw SynfigToolException(SYNFIGTOOL_UNKNOWNERROR,
+								  _("Uninitialized Synfig tool general options singleton."));
+	}
+
+	return _instance.get();
+}
+
+SynfigToolGeneralOptions::SynfigToolGeneralOptions(const char* argv0)
+{
+	_binary_path = synfig::get_binary_path(argv0);
+
+	_verbosity = 0;
+	_should_be_quiet = false;
+	_should_print_benchmarks = false;
+	_threads = 1;
+}
+
+boost::filesystem::path SynfigToolGeneralOptions::get_binary_path() const
+{
+	return _binary_path;
+}
+
+size_t SynfigToolGeneralOptions::get_threads() const
+{
+	return _threads;
+}
+
+void SynfigToolGeneralOptions::set_threads(size_t threads)
+{
+	_threads = threads;
+}
+
+int SynfigToolGeneralOptions::get_verbosity() const
+{
+	return _verbosity;
+}
+
+void SynfigToolGeneralOptions::set_verbosity(int verbosity)
+{
+	_verbosity = verbosity;
+}
+
+bool SynfigToolGeneralOptions::should_be_quiet() const
+{
+	return _should_be_quiet;
+}
+
+void SynfigToolGeneralOptions::set_should_be_quiet(bool be_quiet)
+{
+	_should_be_quiet = be_quiet;
+}
+
+bool SynfigToolGeneralOptions::should_print_benchmarks() const
+{
+	return _should_print_benchmarks;
+}
+
+void SynfigToolGeneralOptions::set_should_print_benchmarks(bool print_benchmarks)
+{
+	_should_print_benchmarks = print_benchmarks;
+}
diff --git a/src/tool/definitions.h b/src/tool/definitions.h
index d69bfd7..fff839d 100644
--- a/src/tool/definitions.h
+++ b/src/tool/definitions.h
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**  Copyright (c) 2012 Diego Barrios Romero
+**  Copyright (c) 2012, 2014 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -35,6 +35,26 @@
 #define _(x) (x)
 #endif
 
+#ifndef VERSION
+#define VERSION "unknown"
+#define PACKAGE "synfig-tool"
+#endif
+
+#ifdef DEFAULT_QUALITY
+#undef DEFAULT_QUALITY
+#endif
+
+#define DEFAULT_QUALITY		2
+#define VERBOSE_OUT(x) if (SynfigToolGeneralOptions::instance()->get_verbosity() >= (x)) std::cerr
+
+#define SYNFIG_LICENSE "\
+**	This package is free software; you can redistribute it and/or\n\
+**	modify it under the terms of the GNU General Public License as\n\
+**	published by the Free Software Foundation; either version 2 of\n\
+**	the License, or (at your option) any later version.\n\
+**\n\
+**	"
+
 enum exit_code
 {
 	SYNFIGTOOL_OK				= 0,
@@ -52,34 +72,46 @@ enum exit_code
 	SYNFIGTOOL_INVALIDOUTPUT    =12
 };
 
-#ifndef VERSION
-#define VERSION "unknown"
-#define PACKAGE "synfig-tool"
-#endif
+#include <string>
+#include <boost/smart_ptr.hpp>
+#include <boost/filesystem.hpp>
 
-#ifdef DEFAULT_QUALITY
-#undef DEFAULT_QUALITY
-#endif
+class SynfigToolGeneralOptions
+{
+public:
+	//! \throw exception in case the instance already existed
+	static void create_singleton_instance(const char* argv0);
 
-#define DEFAULT_QUALITY		2
-#define VERBOSE_OUT(x) if (verbosity >= (x)) std::cerr
+	static SynfigToolGeneralOptions* instance();
 
-#define SYNFIG_LICENSE "\
-**	This package is free software; you can redistribute it and/or\n\
-**	modify it under the terms of the GNU General Public License as\n\
-**	published by the Free Software Foundation; either version 2 of\n\
-**	the License, or (at your option) any later version.\n\
-**\n\
-**	"
+	boost::filesystem::path get_binary_path() const;
+
+	size_t get_threads() const;
+
+	void set_threads(size_t threads);
+
+	int get_verbosity() const;
+
+	void set_verbosity(int verbosity);
+
+	bool should_be_quiet() const;
 
-/* === G L O B A L S ======================================================= */
+	void set_should_be_quiet(bool be_quiet);
 
-extern std::string binary_path;
-extern int verbosity;
-extern int threads;
-extern bool be_quiet;
-extern bool print_benchmarks;
-extern const char* allowed_video_codecs[];
-extern const char* allowed_video_codecs_description[];
+	bool should_print_benchmarks() const;
+
+	void set_should_print_benchmarks(bool print_benchmarks);
+
+private:
+	SynfigToolGeneralOptions(const char* argv0);
+
+	boost::filesystem::path _binary_path;
+	int _verbosity;
+	size_t _threads;
+	bool _should_be_quiet,
+		 _should_print_benchmarks;
+
+	static boost::shared_ptr<SynfigToolGeneralOptions> _instance;
+};
 
 #endif
diff --git a/src/tool/job.h b/src/tool/job.h
index 10b4c4f..b4b2b06 100644
--- a/src/tool/job.h
+++ b/src/tool/job.h
@@ -44,37 +44,69 @@ struct Job
 	bool list_canvases;
 	bool extract_alpha;
 
-	bool canvas_info, canvas_info_all, canvas_info_time_start,
-		 canvas_info_time_end, canvas_info_frame_rate,
-		 canvas_info_frame_start, canvas_info_frame_end,
-		 canvas_info_w, canvas_info_h, canvas_info_image_aspect,
-		 canvas_info_pw, canvas_info_ph, canvas_info_pixel_aspect,
-		 canvas_info_tl, canvas_info_br, canvas_info_physical_w,
-		 canvas_info_physical_h, canvas_info_x_res, canvas_info_y_res,
-		 canvas_info_span, canvas_info_interlaced,
-		 canvas_info_antialias, canvas_info_clamp, canvas_info_flags,
-		 canvas_info_focus, canvas_info_bg_color,
-		 canvas_info_metadata;
+	bool
+		canvas_info,
+		canvas_info_all,
+		canvas_info_time_start,
+		canvas_info_time_end,
+		canvas_info_frame_rate,
+		canvas_info_frame_start,
+		canvas_info_frame_end,
+		canvas_info_w,
+		canvas_info_h,
+		canvas_info_image_aspect,
+		canvas_info_pw,
+		canvas_info_ph,
+		canvas_info_pixel_aspect,
+		canvas_info_tl,
+		canvas_info_br,
+		canvas_info_physical_w,
+		canvas_info_physical_h,
+		canvas_info_x_res,
+		canvas_info_y_res,
+		canvas_info_span,
+		canvas_info_interlaced,
+		canvas_info_antialias,
+		canvas_info_clamp,
+		canvas_info_flags,
+		canvas_info_focus,
+		canvas_info_bg_color,
+		canvas_info_metadata;
 
-    Job()
-    {
-		alpha_mode = synfig::TARGET_ALPHA_MODE_KEEP;
-		extract_alpha = false;
-		canvas_info = canvas_info_all = canvas_info_time_start =
-		  canvas_info_time_end = canvas_info_frame_rate =
-		  canvas_info_frame_start = canvas_info_frame_end =
-		  canvas_info_w = canvas_info_h = canvas_info_image_aspect =
-		  canvas_info_pw = canvas_info_ph = canvas_info_pixel_aspect =
-		  canvas_info_tl = canvas_info_br = canvas_info_physical_w =
-		  canvas_info_physical_h = canvas_info_x_res = canvas_info_y_res =
-		  canvas_info_span = canvas_info_interlaced =
-		  canvas_info_antialias = canvas_info_clamp =  canvas_info_flags =
-		  canvas_info_focus = canvas_info_bg_color = canvas_info_metadata
-		  = false;
-
-		quality = DEFAULT_QUALITY;
-		sifout = false;
-	}
+    Job():
+		alpha_mode(synfig::TARGET_ALPHA_MODE_KEEP),
+		quality(DEFAULT_QUALITY),
+		sifout(false),
+		list_canvases(),
+		extract_alpha(false),
+		canvas_info(),
+		canvas_info_all(),
+		canvas_info_time_start(),
+		canvas_info_time_end(),
+		canvas_info_frame_rate(),
+		canvas_info_frame_start(),
+		canvas_info_frame_end(),
+		canvas_info_w(),
+		canvas_info_h(),
+		canvas_info_image_aspect(),
+		canvas_info_pw(),
+		canvas_info_ph(),
+		canvas_info_pixel_aspect(),
+		canvas_info_tl(),
+		canvas_info_br(),
+		canvas_info_physical_w(),
+		canvas_info_physical_h(),
+		canvas_info_x_res(),
+		canvas_info_y_res(),
+		canvas_info_span(),
+		canvas_info_interlaced(),
+		canvas_info_antialias(),
+		canvas_info_clamp(),
+		canvas_info_flags(),
+		canvas_info_focus(),
+		canvas_info_bg_color(),
+		canvas_info_metadata()
+    { }
 
 };
 
diff --git a/src/tool/joblistprocessor.cpp b/src/tool/joblistprocessor.cpp
index f056016..56bdf09 100644
--- a/src/tool/joblistprocessor.cpp
+++ b/src/tool/joblistprocessor.cpp
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2015 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -35,24 +35,25 @@
 #include <errno.h>
 #include <cstring>
 
+#include <boost/filesystem.hpp>
 #include <boost/program_options/options_description.hpp>
 #include <boost/program_options/variables_map.hpp>
+#include <boost/format.hpp>
+#include <boost/chrono.hpp>
 
-#include <ETL/stringf>
-#include <ETL/clock>
 #include <autorevision.h>
 #include <synfig/general.h>
 #include <synfig/canvas.h>
 #include <synfig/target.h>
 #include <synfig/layer.h>
 #include <synfig/time.h>
-#include <synfig/targetparam.h>
 #include <synfig/target_scanline.h>
 #include <synfig/paramdesc.h>
 #include <synfig/module.h>
 #include <synfig/importer.h>
 #include <synfig/loadcanvas.h>
 #include <synfig/savecanvas.h>
+#include <synfig/filesystemnative.h>
 
 #include "definitions.h"
 #include "job.h"
@@ -63,11 +64,10 @@
 
 #endif
 
-using namespace std;
 using namespace synfig;
-using namespace etl;
+namespace bfs=boost::filesystem;
 
-void process_job_list(list<Job>& job_list, const TargetParam& target_params) throw (SynfigToolException&)
+void process_job_list(std::list<Job>& job_list, const TargetParam& target_params)
 {
 	if(!job_list.size())
 		throw (SynfigToolException(SYNFIGTOOL_BORED, _("Nothing to do!")));
@@ -81,15 +81,15 @@ void process_job_list(list<Job>& job_list, const TargetParam& target_params) thr
 
 bool setup_job(Job& job, const TargetParam& target_parameters)
 {
-	VERBOSE_OUT(4) << _("Attempting to determine target/outfile...") << endl;
+	VERBOSE_OUT(4) << _("Attempting to determine target/outfile...") << std::endl;
 
 	// If the target type is not yet defined,
 	// try to figure it out from the outfile.
 	if(job.target_name.empty() && !job.outfilename.empty())
 	{
 		VERBOSE_OUT(3) << _("Target name undefined, attempting to figure it out")
-					   << endl;
-		string ext = filename_extension(job.outfilename);
+					   << std::endl;
+		std::string ext = bfs::path(job.outfilename).extension().string();
 		if (ext.length())
 			ext = ext.substr(1);
 
@@ -100,10 +100,8 @@ bool setup_job(Job& job, const TargetParam& target_parameters)
 		}
 		else
 		{
-			string lower_ext(ext);
-
-			for(unsigned int i = 0; i < ext.length(); i++)
-				lower_ext[i] = tolower(ext[i]);
+			std::string lower_ext;
+			std::transform(ext.begin(), ext.end(), std::back_inserter(lower_ext), ::tolower);
 
 			if(Target::ext_book().count(lower_ext))
 			{
@@ -119,7 +117,7 @@ bool setup_job(Job& job, const TargetParam& target_parameters)
 	// set it to a some sort of default
 	if(job.target_name.empty())
 	{
-		VERBOSE_OUT(2) << _("Defaulting to PNG target...") << endl;
+		VERBOSE_OUT(2) << _("Defaulting to PNG target...") << std::endl;
 		job.target_name = "png";
 	}
 
@@ -128,29 +126,30 @@ bool setup_job(Job& job, const TargetParam& target_parameters)
 	// (ie: change the extension)
 	if(job.outfilename.empty())
 	{
-		job.outfilename =
-			filename_sans_extension(job.filename) + '.';
-
+        std::string new_extension;
 		if(Target::book().count(job.target_name))
-			job.outfilename +=
-				Target::book()[job.target_name].filename;
+			new_extension = Target::book()[job.target_name].filename;
 		else
-			job.outfilename += job.target_name;
+			new_extension = job.target_name;
+
+        job.outfilename = bfs::path(job.filename).replace_extension(new_extension).string();
 	}
 
-	VERBOSE_OUT(4) << "Target name = " << job.target_name.c_str() << endl;
-	VERBOSE_OUT(4) << "Outfilename = " << job.outfilename.c_str() << endl;
+	VERBOSE_OUT(4) << "Target name = " << job.target_name.c_str() << std::endl;
+	VERBOSE_OUT(4) << "Outfilename = " << job.outfilename.c_str() << std::endl;
 
 	// Check permissions
-	if (access(dirname(job.outfilename).c_str(), W_OK) == -1)
+	if (access(bfs::canonical(bfs::path(job.outfilename).parent_path()).string().c_str(), W_OK) == -1)
 	{
-		VERBOSE_OUT(1) << _("Unable to create ouput for \"") << job.filename.c_str()
-						<< "\": " << strerror(errno) << endl
-					   << _("Throwing out job...") << endl;
+	    const std::string message =
+            (boost::format(_("Unable to create output for \"%s\": %s"))
+                           % job.filename % strerror(errno)).str();
+		synfig::error(message.c_str());
+		synfig::error(_("Throwing out job..."));
 		return false;
 	}
 
-	VERBOSE_OUT(4) << _("Creating the target...") << endl;
+	VERBOSE_OUT(4) << _("Creating the target...") << std::endl;
 	job.target =
 		synfig::Target::create(job.target_name,
 							   job.outfilename,
@@ -162,10 +161,12 @@ bool setup_job(Job& job, const TargetParam& target_parameters)
 	{
 		if(!job.target)
 		{
-			VERBOSE_OUT(1) << _("Unknown target for \"") << job.filename.c_str()
-						   << "\": " << strerror(errno) << endl
-						   << _("Throwing out job...") << endl;
-			return false;
+		    const std::string message =
+                (boost::format(_("Unknown target for \"%s\": %s"))
+                               % job.filename % strerror(errno)).str();
+		    synfig::error(message.c_str());
+                    synfig::error(_("Throwing out job..."));
+                    return false;
 		}
 
 		job.sifout=false;
@@ -174,76 +175,80 @@ bool setup_job(Job& job, const TargetParam& target_parameters)
 	// Set the Canvas on the Target
 	if(job.target)
 	{
-		VERBOSE_OUT(4) << _("Setting the canvas on the target...") << endl;
+		VERBOSE_OUT(4) << _("Setting the canvas on the target...") << std::endl;
 		job.target->set_canvas(job.canvas);
 
-		VERBOSE_OUT(4) << _("Setting the quality of the target...") << endl;
+		VERBOSE_OUT(4) << _("Setting the quality of the target...") << std::endl;
 		job.target->set_quality(job.quality);
-		
+
 		if (job.alpha_mode!=TARGET_ALPHA_MODE_KEEP)
 		{
-			VERBOSE_OUT(4) << _("Setting the alpha mode of the target...") << endl;
+			VERBOSE_OUT(4) << _("Setting the alpha mode of the target...") << std::endl;
 			job.target->set_alpha_mode(job.alpha_mode);
 		}
 	}
 
 	// Set the threads for the target
 	if (job.target && Target_Scanline::Handle::cast_dynamic(job.target))
-		Target_Scanline::Handle::cast_dynamic(job.target)->set_threads(threads);
+		Target_Scanline::Handle::cast_dynamic(job.target)->set_threads(SynfigToolGeneralOptions::instance()->get_threads());
 
 	return true;
 }
 
-void process_job (Job& job) throw (SynfigToolException&)
+void process_job (Job& job)
 {
-	VERBOSE_OUT(3) << job.filename.c_str() << " -- " << endl;
+	VERBOSE_OUT(3) << job.filename.c_str() << " -- " << std::endl;
 	VERBOSE_OUT(3) << '\t'
-				   <<
-		strprintf("w:%d, h:%d, a:%d, pxaspect:%f, imaspect:%f, span:%f",
-			job.desc.get_w(),
-			job.desc.get_h(),
-			job.desc.get_antialias(),
-			job.desc.get_pixel_aspect(),
-			job.desc.get_image_aspect(),
-			job.desc.get_span()
-			).c_str()
-		<< endl;
+				   << boost::format("w:%d, h:%d, a:%d, pxaspect:%f, imaspect:%f, span:%f")
+                                    % job.desc.get_w()
+                                    % job.desc.get_h()
+                                    % job.desc.get_antialias()
+                                    % job.desc.get_pixel_aspect()
+                                    % job.desc.get_image_aspect()
+                                    % job.desc.get_span()
+                    << std::endl;
 
 	VERBOSE_OUT(3) << '\t'
-				   <<
-		strprintf("tl:[%f,%f], br:[%f,%f], focus:[%f,%f]",
-			job.desc.get_tl()[0],
-			job.desc.get_tl()[1],
-			job.desc.get_br()[0],
-			job.desc.get_br()[1],
-			job.desc.get_focus()[0],
-			job.desc.get_focus()[1]
-			).c_str()
-			<< endl;
+				   << boost::format("tl:[%f,%f], br:[%f,%f], focus:[%f,%f]")
+                                    % job.desc.get_tl()[0]
+                                    % job.desc.get_tl()[1]
+                                    % job.desc.get_br()[0]
+                                    % job.desc.get_br()[1]
+                                    % job.desc.get_focus()[0]
+                                    % job.desc.get_focus()[1]
+                    << std::endl;
 
 	RenderProgress p;
 	p.task(job.filename + " ==> " + job.outfilename);
 
 	if(job.sifout)
 	{
-		if(!save_canvas(job.outfilename, job.canvas))
+		// todo: support containers
+		if(!save_canvas(FileSystemNative::instance()->get_identifier(job.outfilename), job.canvas))
 			throw (SynfigToolException(SYNFIGTOOL_RENDERFAILURE, _("Render Failure.")));
 	}
 	else
 	{
-		VERBOSE_OUT(1) << _("Rendering...") << endl;
-		etl::clock timer;
-		timer.reset();
+		VERBOSE_OUT(1) << _("Rendering...") << std::endl;
+		boost::chrono::system_clock::time_point start_timepoint =
+            boost::chrono::system_clock::now();
 
 		// Call the render member of the target
 		if(!job.target->render(&p))
 			throw (SynfigToolException(SYNFIGTOOL_RENDERFAILURE, _("Render Failure.")));
 
-		if(print_benchmarks)
-			cout << job.filename.c_str()
-				 << _(": Rendered in ") << timer()
-				 << _(" seconds.") << endl;
+		if(SynfigToolGeneralOptions::instance()->should_print_benchmarks())
+        {
+            boost::chrono::duration<double> duration =
+                boost::chrono::system_clock::now() - start_timepoint;
+
+            std::cout << job.filename.c_str()
+                      << _(": Rendered in ")
+                      << duration.count()
+                      << _(" seconds.") << std::endl;
+        }
 	}
 
-	VERBOSE_OUT(1) << _("Done.") << endl;
+	VERBOSE_OUT(1) << _("Done.") << std::endl;
 }
+
diff --git a/src/tool/joblistprocessor.h b/src/tool/joblistprocessor.h
index 60edc56..fb33139 100644
--- a/src/tool/joblistprocessor.h
+++ b/src/tool/joblistprocessor.h
@@ -25,15 +25,19 @@
 #ifndef __SYNFIG_JOBLISTPROCESSOR_H
 #define __SYNFIG_JOBLISTPROCESSOR_H
 
+#include <list>
+#include <synfig/targetparam.h>
+#include "job.h"
+
 /// Process a Job list setting up and processing each job
 void process_job_list(std::list<Job>& job_list,
-						const TargetParam& target_parameters) throw (SynfigToolException&);
+						const synfig::TargetParam& target_parameters);
 
 /// Prepare a job to be processed
 /// \return whether the preparation was OK or not
-bool setup_job(Job& job, const TargetParam& target_parameters);
+bool setup_job(Job& job, const synfig::TargetParam& target_parameters);
 
 /// Process an individual job
-void process_job(Job& job) throw (SynfigToolException&);
+void process_job(Job& job);
 
 #endif // __SYNFIG_JOBLISTPROCESSOR_H
diff --git a/src/tool/main.cpp b/src/tool/main.cpp
index d6676fc..562bbf8 100644
--- a/src/tool/main.cpp
+++ b/src/tool/main.cpp
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2015 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -32,15 +32,16 @@
 #endif
 
 #include <iostream>
-#include <ETL/stringf>
+#include <string>
 #include <list>
-#include <cstring>
 
 #include <boost/program_options/options_description.hpp>
 #include <boost/program_options/parsers.hpp>
 #include <boost/program_options/variables_map.hpp>
 #include <boost/tokenizer.hpp>
 #include <boost/token_functions.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/format.hpp>
 
 #include <glibmm.h>
 
@@ -66,88 +67,53 @@
 #include "named_type.h"
 #endif
 
-using namespace std;
-using namespace etl;
-using namespace synfig;
-using namespace boost;
 namespace po=boost::program_options;
+namespace bfs=boost::filesystem;
 
-/* === G L O B A L S ================================================ */
-
-String binary_path;
-int verbosity = 0;
-bool be_quiet = false;
-bool print_benchmarks = false;
-int threads = 1;
-
-//! Allowed video codecs
-/*! \warning This variable is linked to allowed_video_codecs_description,
- *  if you change this you must change the other acordingly.
- *  \warning These codecs are linked to the filename extensions for
- *  mod_ffmpeg. If you change this you must change the others acordingly.
- */
-const char* allowed_video_codecs[] =
+std::string _appendAlphaToFilename(std::string input_filename)
 {
-	"flv", "h263p", "huffyuv", "libtheora", "libx264", "libx264-lossless",
-	"mjpeg", "mpeg1video", "mpeg2video", "mpeg4", "msmpeg4",
-	"msmpeg4v1", "msmpeg4v2", "wmv1", "wmv2", NULL
-};
-
-//! Allowed video codecs description.
-/*! \warning This variable is linked to allowed_video_codecs,
- *  if you change this you must change the other acordingly.
- */
-const char* allowed_video_codecs_description[] =
-{
-	"Flash Video (FLV) / Sorenson Spark / Sorenson H.263.",
-	"H.263+ / H.263-1998 / H.263 version 2.",
-	"Huffyuv / HuffYUV.",
-	"libtheora Theora.",
-	"H.264 / AVC / MPEG-4 AVC.",
-	"H.264 / AVC / MPEG-4 AVC (LossLess).",
-	"MJPEG (Motion JPEG).",
-	"raw MPEG-1 video.",
-	"raw MPEG-2 video.",
-	"MPEG-4 part 2. (XviD/DivX)",
-	"MPEG-4 part 2 Microsoft variant version 3.",
-	"MPEG-4 part 2 Microsoft variant version 1.",
-	"MPEG-4 part 2 Microsoft variant version 2.",
-	"Windows Media Video 7.",
-	"Windows Media Video 8.",
-	NULL
-};
-
-/* === M E T H O D S ================================================ */
-
-int main(int ac, char* av[])
+    bfs::path filename(input_filename);
+    bfs::path alpha_filename(filename.stem().string() + "-alpha" +
+        filename.extension().string());
+    return bfs::path(filename.parent_path() / alpha_filename).string();
+}
+
+int main(int argc, char* argv[])
 {
 	setlocale(LC_ALL, "");
-	
-	binary_path = synfig::get_binary_path(String(av[0]));
+
+	SynfigToolGeneralOptions::create_singleton_instance(argv[0]);
+
+	bfs::path binary_path =
+		SynfigToolGeneralOptions::instance()->get_binary_path();
 
 #ifdef ENABLE_NLS
-	String locale_dir;
-	locale_dir = etl::dirname(etl::dirname(binary_path))+ETL_DIRECTORY_SEPARATOR+"share"+ETL_DIRECTORY_SEPARATOR+"locale";
+	boost::filesystem::path locale_path =
+		binary_path.parent_path().parent_path();
+	locale_path = locale_path/"share"/"locale";
 #ifdef WIN32
-	locale_dir = Glib::locale_from_utf8(locale_dir);
+	locale_path = Glib::locale_from_utf8(locale_path.string());
 #endif
-	bindtextdomain("synfig", locale_dir.c_str() );
+	bindtextdomain("synfig", locale_path.string().c_str() );
 	bind_textdomain_codeset("synfig", "UTF-8");
 	textdomain("synfig");
 #endif
 
 	if(!SYNFIG_CHECK_VERSION())
 	{
-		cerr << _("FATAL: Synfig Version Mismatch") << endl;
+		std::cerr << _("FATAL: Synfig Version Mismatch") << std::endl;
 		return SYNFIGTOOL_BADVERSION;
 	}
 
-	try {
-		if(ac==1)
+	try
+	{
+		if(argc == 1)
+		{
 			throw (SynfigToolException(SYNFIGTOOL_MISSINGARGUMENT));
+		}
 
 
-		named_type<string>* target_arg_desc = new named_type<string>("module");
+		named_type<std::string>* target_arg_desc = new named_type<std::string>("module");
 		named_type<int>* width_arg_desc = new named_type<int>("NUM");
 		named_type<int>* height_arg_desc = new named_type<int>("NUM");
 		named_type<int>* span_arg_desc = new named_type<int>("NUM");
@@ -156,22 +122,22 @@ int main(int ac, char* av[])
 		named_type<float>* gamma_arg_desc = new named_type<float>("NUM (=2.2)");
 		named_type<int>* threads_arg_desc = new named_type<int>("NUM");
 		named_type<int>* verbosity_arg_desc = new named_type<int>("NUM");
-		named_type<string>* canvas_arg_desc = new named_type<string>("canvas-id");
-		named_type<string>* output_file_arg_desc = new named_type<string>("filename");
-		named_type<string>* input_file_arg_desc = new named_type<string>("filename");
+		named_type<std::string>* canvas_arg_desc = new named_type<std::string>("canvas-id");
+		named_type<std::string>* output_file_arg_desc = new named_type<std::string>("filename");
+		named_type<std::string>* input_file_arg_desc = new named_type<std::string>("filename");
 		named_type<float>* fps_arg_desc = new named_type<float>("NUM");
-		named_type<string>* time_arg_desc = new named_type<string>("seconds");
-		named_type<string>* begin_time_arg_desc = new named_type<string>("seconds");
-		named_type<string>* start_time_arg_desc = new named_type<string>("seconds");
-		named_type<string>* end_time_arg_desc = new named_type<string>("seconds");
+		named_type<std::string>* time_arg_desc = new named_type<std::string>("seconds");
+		named_type<std::string>* begin_time_arg_desc = new named_type<std::string>("seconds");
+		named_type<std::string>* start_time_arg_desc = new named_type<std::string>("seconds");
+		named_type<std::string>* end_time_arg_desc = new named_type<std::string>("seconds");
 		named_type<int>* dpi_arg_desc = new named_type<int>("NUM");
 		named_type<int>* dpi_x_arg_desc = new named_type<int>("NUM");
 		named_type<int>* dpi_y_arg_desc = new named_type<int>("NUM");
-		named_type<string>* append_filename_arg_desc = new named_type<string>("filename");
-		named_type<string>* sequence_separator_arg_desc = new named_type<string>("string");
-		named_type<string>* canvas_info_fields_arg_desc = new named_type<string>("fields");
-		named_type<string>* layer_info_field_arg_desc = new named_type<string>("layer-name");
-		named_type<string>* video_codec_arg_desc = new named_type<string>("codec");
+		named_type<std::string>* append_filename_arg_desc = new named_type<std::string>("filename");
+		named_type<std::string>* sequence_separator_arg_desc = new named_type<std::string>("string");
+		named_type<std::string>* canvas_info_fields_arg_desc = new named_type<std::string>("fields");
+		named_type<std::string>* layer_info_field_arg_desc = new named_type<std::string>("layer-name");
+		named_type<std::string>* video_codec_arg_desc = new named_type<std::string>("codec");
 		named_type<int>* video_bitrate_arg_desc = new named_type<int>("bitrate");
 
         po::options_description po_settings(_("Settings"));
@@ -181,7 +147,7 @@ int main(int ac, char* av[])
             ("height,h", height_arg_desc, _("Set the image height in pixels (Use zero for file default)"))
             ("span,s", span_arg_desc, _("Set the diagonal size of image window (Span)"))
             ("antialias,a", antialias_arg_desc, _("Set antialias amount for parametric renderer."))
-            ("quality,Q", quality_arg_desc->default_value(DEFAULT_QUALITY), strprintf(_("Specify image quality for accelerated renderer (Default: %d)"), DEFAULT_QUALITY).c_str())
+            ("quality,Q", quality_arg_desc->default_value(DEFAULT_QUALITY), (boost::format(_("Specify image quality for accelerated renderer (Default: %d)")) % DEFAULT_QUALITY).str().c_str())
             ("gamma,g", gamma_arg_desc, _("Gamma"))
             ("threads,T", threads_arg_desc, _("Enable multithreaded renderer using the specified number of threads"))
             ("input-file,i", input_file_arg_desc, _("Specify input filename"))
@@ -272,8 +238,15 @@ int main(int ac, char* av[])
 		po_visible.add(po_info);
 
         po::variables_map vm;
-        po::store(po::command_line_parser(ac, av).options(po_all).
-				  positional(po_positional).run(), vm);
+        try{
+            po::store(po::command_line_parser(argc, argv).options(po_all).
+                    positional(po_positional).run(), vm);
+        }catch(std::exception &e)
+        {
+            std::cout << std::endl << e.what() << std::endl;
+            std::cout << _("Try 'synfig --help' for more information") << std::endl;
+            return SYNFIGTOOL_UNKNOWNARGUMENT;
+        }
 
         OptionsProcessor op(vm, po_visible);
 
@@ -288,13 +261,13 @@ int main(int ac, char* av[])
 		// TODO: Optional load of main only if needed. i.e. not needed to display help
 		// Synfig Main initialization needs to be after verbose and
 		// before any other where it's used
-		Progress p(binary_path.c_str());
-		synfig::Main synfig_main(etl::dirname(binary_path), &p);
+		Progress p(binary_path.string().c_str());
+		synfig::Main synfig_main(binary_path.parent_path().string(), &p);
 
         // Info options -----------------------------------------------
         op.process_info_options();
 
-		list<Job> job_list;
+		std::list<Job> job_list;
 
 		// Processing --------------------------------------------------
 		Job job;
@@ -302,10 +275,10 @@ int main(int ac, char* av[])
 		job.desc = job.canvas->rend_desc() = op.extract_renddesc(job.canvas->rend_desc());
 
 		if (job.extract_alpha) {
-			job.alpha_mode = TARGET_ALPHA_MODE_REDUCE;
+			job.alpha_mode = synfig::TARGET_ALPHA_MODE_REDUCE;
 			job_list.push_front(job);
-			job.alpha_mode = TARGET_ALPHA_MODE_EXTRACT;
-			job.outfilename = filename_sans_extension(job.outfilename)+"-alpha"+filename_extension(job.outfilename);
+			job.alpha_mode = synfig::TARGET_ALPHA_MODE_EXTRACT;
+			job.outfilename = _appendAlphaToFilename(job.outfilename);
 			job_list.push_front(job);
 		} else {
 			job_list.push_front(job);
@@ -319,13 +292,13 @@ int main(int ac, char* av[])
     catch (SynfigToolException& e) {
     	exit_code code = e.get_exit_code();
     	if (code != SYNFIGTOOL_HELP && code != SYNFIGTOOL_OK)
-    		cerr << e.get_message().c_str() << endl;
+    		std::cerr << e.get_message().c_str() << std::endl;
     	if (code == SYNFIGTOOL_MISSINGARGUMENT)
     		print_usage();
 
     	return code;
     }
     catch(std::exception& e) {
-        cout << e.what() << "\n";
+        std::cout << e.what() << std::endl;
     }
 }
diff --git a/src/tool/optionsprocessor.cpp b/src/tool/optionsprocessor.cpp
index 4fbe34c..a180d99 100644
--- a/src/tool/optionsprocessor.cpp
+++ b/src/tool/optionsprocessor.cpp
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2014 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -30,11 +30,9 @@
 #endif
 
 #include <iostream>
+#include <boost/filesystem.hpp>
+#include <boost/format.hpp>
 
-#include <boost/program_options/options_description.hpp>
-#include <boost/program_options/variables_map.hpp>
-
-#include <ETL/stringf>
 #include <autorevision.h>
 #include <synfig/general.h>
 #include <synfig/canvas.h>
@@ -42,9 +40,13 @@
 #include <synfig/target.h>
 #include <synfig/layer.h>
 #include <synfig/module.h>
+#include <synfig/main.h>
 #include <synfig/importer.h>
 #include <synfig/loadcanvas.h>
 #include <synfig/guid.h>
+#include <synfig/filesystemgroup.h>
+#include <synfig/filesystemnative.h>
+#include <synfig/filecontainerzip.h>
 
 #include "definitions.h"
 #include "job.h"
@@ -56,7 +58,29 @@
 
 using namespace std;
 using namespace synfig;
-using namespace etl;
+namespace bfs=boost::filesystem;
+
+OptionsProcessor::OptionsProcessor(
+	boost::program_options::variables_map& vm,
+	const boost::program_options::options_description& po_visible)
+		: _vm(vm), _po_visible(po_visible)
+{
+	_allowed_video_codecs.push_back(VideoCodec("flv", "Flash Video (FLV) / Sorenson Spark / Sorenson H.263."));
+	_allowed_video_codecs.push_back(VideoCodec("h263p", "H.263+ / H.263-1998 / H.263 version 2."));
+	_allowed_video_codecs.push_back(VideoCodec("huffyuv", "Huffyuv / HuffYUV."));
+	_allowed_video_codecs.push_back(VideoCodec("libtheora", "libtheora Theora."));
+	_allowed_video_codecs.push_back(VideoCodec("libx264", "H.264 / AVC / MPEG-4 AVC."));
+	_allowed_video_codecs.push_back(VideoCodec("libx264-lossless", "H.264 / AVC / MPEG-4 AVC (LossLess)."));
+	_allowed_video_codecs.push_back(VideoCodec("mjpeg", "MJPEG (Motion JPEG)."));
+	_allowed_video_codecs.push_back(VideoCodec("mpeg1video", "Raw MPEG-1 video."));
+	_allowed_video_codecs.push_back(VideoCodec("mpeg2video", "Raw MPEG-2 video."));
+	_allowed_video_codecs.push_back(VideoCodec("mpeg4", "MPEG-4 part 2 (XviD/DivX)."));
+	_allowed_video_codecs.push_back(VideoCodec("msmpeg4", "MPEG-4 part 2 Microsoft variant version 3."));
+	_allowed_video_codecs.push_back(VideoCodec("msmpeg4v1", "MPEG-4 part 2 Microsoft variant version 1."));
+	_allowed_video_codecs.push_back(VideoCodec("msmpeg4v2", "MPEG-4 part 2 Microsoft variant version 2."));
+	_allowed_video_codecs.push_back(VideoCodec("wmv1", "Windows Media Video 7."));
+	_allowed_video_codecs.push_back(VideoCodec("wmv2", "Windows Media Video 8."));
+}
 
 void OptionsProcessor::extract_canvas_info(Job& job)
 {
@@ -128,26 +152,32 @@ void OptionsProcessor::process_settings_options()
 {
 	if (_vm.count("verbose"))
 	{
-		verbosity = _vm["verbose"].as<int>();
-		VERBOSE_OUT(1) << _("verbosity set to ") << verbosity
-					   << endl;
+		SynfigToolGeneralOptions::instance()->set_verbosity(_vm["verbose"].as<int>());
+		VERBOSE_OUT(1) << _("verbosity set to ")
+					   << SynfigToolGeneralOptions::instance()->get_verbosity()
+					   << std::endl;
 	}
 
 	if (_vm.count("benchmarks"))
-		print_benchmarks=true;
+	{
+		SynfigToolGeneralOptions::instance()->set_should_print_benchmarks(true);
+	}
 
 	if (_vm.count("quiet"))
-		be_quiet=true;
+	{
+		SynfigToolGeneralOptions::instance()->set_should_be_quiet(true);
+	}
 
 	if (_vm.count("threads"))
-		threads = _vm["threads"].as<int>();
-	else
-		threads = 1;
+	{
+		SynfigToolGeneralOptions::instance()->set_threads(_vm["threads"].as<size_t>());
+	}
 
-	VERBOSE_OUT(1) << _("Threads set to ") << threads << endl;
+	VERBOSE_OUT(1) << _("Threads set to ")
+				   << SynfigToolGeneralOptions::instance()->get_threads() << std::endl;
 }
 
-void OptionsProcessor::process_info_options() throw (SynfigToolException&)
+void OptionsProcessor::process_info_options()
 {
 	if (_vm.count("help"))
 	{
@@ -222,10 +252,10 @@ void OptionsProcessor::process_info_options() throw (SynfigToolException&)
 		Layer::Handle layer =
 			synfig::Layer::create(_vm["layer-info"].as<string>());
 
-		cout << _("Layer Name: ") << (layer->get_name()).c_str() << endl;
+		cout << _("Layer Name: ") << layer->get_name() << endl;
 		cout << _("Localized Layer Name: ")
-			 << (layer->get_local_name()).c_str() << endl;
-		cout << _("Version: ") << (layer->get_version()).c_str() << endl;
+			 << layer->get_local_name() << endl;
+		cout << _("Version: ") << layer->get_version() << endl;
 
 		Layer::Vocab vocab = layer->get_param_vocab();
 		for(; !vocab.empty(); vocab.pop_front())
@@ -307,23 +337,23 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		int a;
 		a = _vm["antialias"].as<int>();
 		desc.set_antialias(a);
-		VERBOSE_OUT(1) << strprintf(_("Antialiasing set to %d, "
-									  "(%d samples per pixel)"), a, a*a).c_str()
-						<< endl;
+		VERBOSE_OUT(1) << boost::format(_("Antialiasing set to %d, "
+										  "(%d samples per pixel)")) % a % (a*a)
+						<< std::endl;
 	}
 	if (_vm.count("span"))
 	{
-		span = _vm["span"].as<int>();
-		VERBOSE_OUT(1) << strprintf(_("Span set to %d units"), span).c_str()
-						<< endl;
+	    span = _vm["span"].as<int>();
+		VERBOSE_OUT(1) << boost::format(_("Span set to %d units")) % span
+                       << std::endl;
 	}
 	if (_vm.count("fps"))
 	{
 		float fps;
 		fps = _vm["fps"].as<float>();
 		desc.set_frame_rate(fps);
-		VERBOSE_OUT(1) << strprintf(_("Frame rate set to %d frames per "
-									  "second"), fps).c_str() << endl;
+		VERBOSE_OUT(1) << boost::format(_("Frame rate set to %d frames per "
+										   "second")) % fps << std::endl;
 	}
 	if (_vm.count("dpi"))
 	{
@@ -332,8 +362,8 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		dots_per_meter = dpi * 39.3700787402;
 		desc.set_x_res(dots_per_meter);
 		desc.set_y_res(dots_per_meter);
-		VERBOSE_OUT(1) << strprintf(_("Physical resolution set to %f "
-									  "dpi"), dpi).c_str() << endl;
+		VERBOSE_OUT(1) << boost::format(_("Physical resolution set to %f "
+                                          "dpi")) % dpi << std::endl;
 	}
 	if (_vm.count("dpi-x"))
 	{
@@ -341,8 +371,8 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		dpi = _vm["dpi-x"].as<float>();
 		dots_per_meter = dpi * 39.3700787402;
 		desc.set_x_res(dots_per_meter);
-		VERBOSE_OUT(1) << strprintf(_("Physical X resolution set to %f "
-									  "dpi"), dpi).c_str() << endl;
+		VERBOSE_OUT(1) << boost::format(_("Physical X resolution set to %f "
+										  "dpi")) % dpi << std::endl;
 	}
 	if (_vm.count("dpi-y"))
 	{
@@ -350,35 +380,31 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		dpi = _vm["dpi-y"].as<float>();
 		dots_per_meter = dpi * 39.3700787402;
 		desc.set_y_res(dots_per_meter);
-		VERBOSE_OUT(1) << strprintf(_("Physical Y resolution set to %f "
-									  "dpi"), dpi).c_str() << endl;
+		VERBOSE_OUT(1) << boost::format(_("Physical Y resolution set to %f "
+                                          "dpi")) % dpi << std::endl;
 	}
 	if (_vm.count("start-time"))
 	{
-		string seconds;
-		seconds = _vm["start-time"].as<string>();
+		std::string seconds = _vm["start-time"].as<std::string>();
 		desc.set_time_start(Time(seconds.c_str(), desc.get_frame_rate()));
 	}
 	if (_vm.count("begin-time"))
 	{
-		string seconds;
-		seconds = _vm["begin-time"].as<string>();
+		std::string seconds = _vm["begin-time"].as<std::string>();
 		desc.set_time_start(Time(seconds.c_str(), desc.get_frame_rate()));
 	}
 	if (_vm.count("end-time"))
 	{
-		string seconds;
-		seconds = _vm["end-time"].as<string>();
+		std::string seconds = _vm["end-time"].as<std::string>();
 		desc.set_time_end(Time(seconds.c_str(), desc.get_frame_rate()));
 	}
 	if (_vm.count("time"))
 	{
-		string seconds;
-		seconds = _vm["time"].as<string>();
+		std::string seconds = _vm["time"].as<std::string>();
 		desc.set_time(Time(seconds.c_str(), desc.get_frame_rate()));
 
 		VERBOSE_OUT(1) << _("Rendering frame at ")
-					   << desc.get_time_start().get_string(desc.get_frame_rate()).c_str()
+					   << desc.get_time_start().get_string(desc.get_frame_rate())
 					   << endl;
 	}
 	if (_vm.count("gamma"))
@@ -389,7 +415,7 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		//desc.set_gamma(Gamma(gamma));
 	}
 
-	if (w||h)
+	if (w || h)
 	{
 		// scale properly
 		if (!w)
@@ -397,9 +423,9 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 		else if (!h)
 			h = desc.get_h() * w / desc.get_w();
 
-		desc.set_wh(w,h);
-		VERBOSE_OUT(1) << strprintf(_("Resolution set to %dx%d"), w, h).c_str()
-						<< endl;
+		desc.set_wh(w, h);
+		VERBOSE_OUT(1) << boost::format(_("Resolution set to %dx%d.")) % w % h
+                       << std::endl;
 	}
 
 	if(span)
@@ -408,7 +434,7 @@ RendDesc OptionsProcessor::extract_renddesc(const RendDesc& renddesc)
 	return desc;
 }
 
-TargetParam OptionsProcessor::extract_targetparam() throw (SynfigToolException&)
+TargetParam OptionsProcessor::extract_targetparam()
 {
 	TargetParam params;
 
@@ -419,7 +445,7 @@ TargetParam OptionsProcessor::extract_targetparam() throw (SynfigToolException&)
 
 	if (_vm.count("video-codec"))
 	{
-		params.video_codec = _vm["video-codec"].as<string>();
+		params.video_codec = _vm["video-codec"].as<std::string>();
 
 		// video_codec string to lowercase
 		transform (params.video_codec.begin(),
@@ -429,36 +455,44 @@ TargetParam OptionsProcessor::extract_targetparam() throw (SynfigToolException&)
 
 		bool found = false;
 		// Check if the given video codec is allowed.
-		for (int i = 0; !found && allowed_video_codecs[i] != NULL; i++)
-			if (params.video_codec == allowed_video_codecs[i])
+		for (std::vector<VideoCodec>::const_iterator itr = _allowed_video_codecs.begin();
+		 itr != _allowed_video_codecs.end(); ++itr)
+		{
+			if (params.video_codec == itr->name)
+			{
 				found = true;
+			}
+		}
 
 		if (!found)
-			throw(SynfigToolException(SYNFIGTOOL_UNKNOWNARGUMENT,
-									   strprintf(_("Video codec \"%s\" is not supported."),
-											   	 params.video_codec.c_str())));
+		{
+		    throw SynfigToolException(SYNFIGTOOL_UNKNOWNARGUMENT,
+                                      (boost::format(_("Video codec \"%s\" is not supported."))
+                                                      % params.video_codec).str());
+		}
 
-		VERBOSE_OUT(1) << strprintf(_("Target video codec set to %s"), params.video_codec.c_str()).c_str()
-						<< endl;
+		VERBOSE_OUT(1) << _("Target video codec set to: ") << params.video_codec
+                       << std::endl;
 	}
 	if(_vm.count("video-bitrate"))
 	{
 		params.bitrate = _vm["video-bitrate"].as<int>();
-		VERBOSE_OUT(1) << strprintf(_("Target bitrate set to %dk"),params.bitrate).c_str()
-					   << endl;
+		VERBOSE_OUT(1) << _("Target bitrate set to: ") << params.bitrate << "k."
+					   << std::endl;
 	}
 	if(_vm.count("sequence-separator"))
 	{
-		params.sequence_separator = _vm["sequence-separator"].as<string>();
-		VERBOSE_OUT(1) << strprintf(_("Output file sequence separator set to %s"),
-									params.sequence_separator.c_str()).c_str()
-					   << endl;
+		params.sequence_separator = _vm["sequence-separator"].as<std::string>();
+		VERBOSE_OUT(1) << _("Output file sequence separator set to: '")
+                       << params.sequence_separator
+                       << "'."
+					   << std::endl;
 	}
 
 	return params;
 }
 
-Job OptionsProcessor::extract_job() throw (SynfigToolException&)
+Job OptionsProcessor::extract_job()
 {
 	Job job;
 
@@ -471,7 +505,23 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 		string errors, warnings;
 		try
 		{
-			job.root = open_canvas(job.filename, errors, warnings);
+			// todo: literals ".sfg", "container:", "project.sifz"
+			if (bfs::path(job.filename).extension().string() == ".sfg")
+			{
+				etl::handle< FileContainerZip > container = new FileContainerZip();
+				if (container->open(job.filename))
+				{
+					etl::handle< FileSystemGroup > file_system( new FileSystemGroup(FileSystemNative::instance()) );
+					file_system->register_system("#", container);
+					job.root = open_canvas_as(file_system->get_identifier("#project.sifz"), job.filename, errors, warnings);
+				} else
+				{
+					errors.append("Cannot open container " + job.filename + "\n");
+				}
+			} else
+			{
+				job.root = open_canvas_as(FileSystemNative::instance()->get_identifier(job.filename), job.filename, errors, warnings);
+			}
 		}
 		catch(runtime_error& x)
 		{
@@ -484,28 +534,30 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 
 		if(!job.canvas)
 		{
-			throw (SynfigToolException(SYNFIGTOOL_FILENOTFOUND,
-					strprintf(_("Unable to load '%s'."), job.filename.c_str())));
+		    throw SynfigToolException(SYNFIGTOOL_FILENOTFOUND,
+                                      (boost::format(_("Unable to load file '%s'.")) % job.filename).str());
 		}
 
 		job.root->set_time(0);
 	}
 	else
-		throw (SynfigToolException(SYNFIGTOOL_MISSINGARGUMENT,
-									_("No input file provided.")));
+	{
+	    throw SynfigToolException(SYNFIGTOOL_MISSINGARGUMENT,
+                                  _("No input file provided."));
+	}
 
 	if (_vm.count("target"))
 	{
-		job.target_name = _vm["target"].as<string>();
-		VERBOSE_OUT(1) << _("Target set to ") << job.target_name.c_str() << endl;
+		job.target_name = _vm["target"].as<std::string>();
+		VERBOSE_OUT(1) << _("Target set to ") << job.target_name << std::endl;
 	}
 
 	// Determine output
 	if (_vm.count("output-file"))
 	{
-		job.outfilename = _vm["output-file"].as<string>();
+		job.outfilename = _vm["output-file"].as<std::string>();
 	}
-	
+
 	if (_vm.count("extract-alpha"))
 	{
 		job.extract_alpha = true;
@@ -516,33 +568,35 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 	else
 		job.quality = DEFAULT_QUALITY;
 
-	VERBOSE_OUT(1) << _("Quality set to ") << job.quality << endl;
+	VERBOSE_OUT(1) << _("Quality set to ") << job.quality << std::endl;
 
 	// WARNING: canvas must be before append
 
 	if (_vm.count("canvas"))
 	{
-		string canvasid;
-		canvasid = _vm["canvas"].as<string>();
+		std::string canvasid;
+		canvasid = _vm["canvas"].as<std::string>();
 
 		try
 		{
-			string warnings;
+			std::string warnings;
 			job.canvas = job.root->find_canvas(canvasid, warnings);
 			// TODO: This exceptions should not terminate the program if multi-job
 			// processing is available.
 		}
 		catch(Exception::IDNotFound&)
 		{
-			throw (SynfigToolException(SYNFIGTOOL_INVALIDJOB,
-					strprintf(_("Unable to find canvas with ID \"%s\" in %s.\n"
-								"Throwing out job..."), canvasid.c_str(), job.filename.c_str())));
+			throw SynfigToolException(SYNFIGTOOL_INVALIDJOB,
+                    (boost::format(_("Unable to find canvas with ID \"%s\" in %s.\n"
+                                     "Throwing out job..."))
+                                   % canvasid % job.filename).str());
 		}
 		catch(Exception::BadLinkName&)
 		{
-			throw (SynfigToolException(SYNFIGTOOL_INVALIDJOB,
-					strprintf(_("Invalid canvas name \"%s\" in %s.\n"
-								"Throwing out job..."), canvasid.c_str(), job.filename.c_str())));
+		    throw SynfigToolException(SYNFIGTOOL_INVALIDJOB,
+                    (boost::format(_("Invalid canvas name \"%s\" in %s.\n"
+                                     "Throwing out job..."))
+                                   % canvasid % job.filename).str());
 		}
 
 		// Later we need to set the other parameters for the jobs
@@ -553,11 +607,28 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 	if (_vm.count("append"))
 	{
 		// TODO: Enable multi-appending. Disabled in the previous CLI version
-		string composite_file;
-		composite_file = _vm["append"].as<string>();
+		std::string composite_file = _vm["append"].as<std::string>();
+
+		std::string errors, warnings;
+		Canvas::Handle composite;
+		// todo: literals ".sfg", "container:", "project.sifz"
+		if (bfs::path(composite_file).extension() == ".sfg")
+		{
+			etl::handle< FileContainerZip > container = new FileContainerZip();
+			if (container->open(job.filename))
+			{
+				etl::handle< FileSystemGroup > file_system( new FileSystemGroup(FileSystemNative::instance()) );
+				file_system->register_system("#", container);
+				job.root = open_canvas_as(file_system->get_identifier("#project.sifz"), composite_file, errors, warnings);
+			} else
+			{
+				errors.append("Cannot open container " + composite_file + "\n");
+			}
+		} else
+		{
+			composite = open_canvas_as(FileSystemNative::instance()->get_identifier(composite_file), composite_file, errors, warnings);
+		}
 
-		string errors, warnings;
-		Canvas::Handle composite(open_canvas(composite_file, errors, warnings));
 		if(!composite)
 		{
 			VERBOSE_OUT(1) << _("Unable to append '") << composite_file.c_str()
@@ -574,10 +645,10 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 			}
 		}
 
-		VERBOSE_OUT(2) << _("Appended contents of ") << composite_file.c_str() << endl;
+		VERBOSE_OUT(2) << _("Appended contents of ") << composite_file << endl;
 	}
-	/*=== This is a code that comes from bones branch 
-	      possibly it is the solution for multi-appending mentioned before ====	
+	/*=== This is a code that comes from bones branch
+	      possibly it is the solution for multi-appending mentioned before ====
 	// Extract composite
 	do{
 		string composite_file;
@@ -585,7 +656,7 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 		if(!composite_file.empty())
 		{
 			String errors, warnings;
-			Canvas::Handle composite(open_canvas(composite_file, errors, warnings));
+			Canvas::Handle composite(open_canvas_as(FileSystemNative::instance()->get_identifier(composite_file), composite_file, errors, warnings));
 			if(!composite)
 			{
 				cerr<<_("Unable to append '")<<composite_file<<"'."<<endl;
@@ -601,16 +672,16 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 			VERBOSE_OUT(2)<<_("Appended contents of ")<<composite_file<<endl;
 		}
 	} while(false);
-	
+
 	VERBOSE_OUT(4)<<_("Attempting to determine target/outfile...")<<endl;
 	>>>>>>> genete_bones
 	 */
 	if (_vm.count("list-canvases") || _vm.count("canvases"))
 	{
 		print_child_canvases(job.filename + "#", job.root);
-		cerr << endl;
+		std::cerr << std::endl;
 
-		throw (SynfigToolException(SYNFIGTOOL_OK));
+		throw SynfigToolException(SYNFIGTOOL_OK);
 	}
 
 	if (_vm.count("canvas-info"))
@@ -618,40 +689,50 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 		extract_canvas_info(job);
 		print_canvas_info(job);
 
-		throw (SynfigToolException(SYNFIGTOOL_OK));
+		throw SynfigToolException(SYNFIGTOOL_OK);
 	}
 
 	return job;
 }
 
+void OptionsProcessor::print_target_video_codecs_help() const
+{
+	for (std::vector<VideoCodec>::const_iterator itr = _allowed_video_codecs.begin();
+		 itr != _allowed_video_codecs.end(); ++itr)
+	{
+		std::cout << " " << itr->name << ":   \t" << itr->description
+				  << std::endl;
+	}
+}
+
 #ifdef _DEBUG
 
 // DEBUG auxiliar functions
 void guid_test()
 {
-	cout << "GUID Test" << endl;
+	std::cout << "GUID Test" << std::endl;
 	for(int i = 20; i; i--)
-		cout << synfig::GUID().get_string() << ' '
-			 << synfig::GUID().get_string() << endl;
+		std::cout << synfig::GUID().get_string() << ' '
+				  << synfig::GUID().get_string() << std::endl;
 }
 
 void signal_test_func()
 {
-	cout << "**SIGNAL CALLED**" << endl;
+	std::cout << "**SIGNAL CALLED**" << std::endl;
 }
 
 void signal_test()
 {
 	sigc::signal<void> sig;
 	sigc::connection conn;
-	cout << "Signal Test" << endl;
+	std::cout << "Signal Test" << std::endl;
 	conn = sig.connect(sigc::ptr_fun(signal_test_func));
-	cout << "Next line should exclaim signal called." << endl;
+	std::cout << "Next line should exclaim signal called." << std::endl;
 	sig();
 	conn.disconnect();
-	cout << "Next line should NOT exclaim signal called." << endl;
+	std::cout << "Next line should NOT exclaim signal called." << std::endl;
 	sig();
-	cout << "done."<<endl;
+	std::cout << "done." << std::endl;
 }
 
 // DEBUG options ----------------------------------------------
diff --git a/src/tool/optionsprocessor.h b/src/tool/optionsprocessor.h
index f0949f2..1ae3f4a 100644
--- a/src/tool/optionsprocessor.h
+++ b/src/tool/optionsprocessor.h
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2014 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -25,13 +25,19 @@
 #ifndef __SYNFIG_OPTIONSPROCESSOR_H
 #define __SYNFIG_OPTIONSPROCESSOR_H
 
+#include <string>
+#include <vector>
+#include <synfig/canvas.h>
+#include <boost/filesystem.hpp>
+#include <boost/program_options.hpp>
+
+// TODO rename to CommandLineHandler and move the options creation inside.
 /// Class to process all the command line options
 class OptionsProcessor
 {
 public:
 	OptionsProcessor(boost::program_options::variables_map& vm,
-					   const boost::program_options::options_description& po_visible)
-		: _vm(vm), _po_visible(po_visible) { }
+					 const boost::program_options::options_description& po_visible);
 
 #ifdef _DEBUG
 	void process_debug_options() throw (SynfigToolException&);
@@ -43,19 +49,22 @@ public:
 
 	/// Information options
 	/// Options that will only display information
-	void process_info_options() throw (SynfigToolException&);
+	void process_info_options();
 
 	/// Extract the necessary options to create a job
 	/// After this, it is necessary to overwrite the necessary RendDesc options
 	/// and set the target parameters, if provided. Then can be processed
-	Job extract_job() throw (SynfigToolException&);
+	Job extract_job();
 
 	/// Overwrite the input RendDesc object with the options given in the command line
 	synfig::RendDesc extract_renddesc(const synfig::RendDesc& renddesc);
 
 	/// Extract the target parameters from the options given in the command line
 	/// video-codec, bitrate, sequence-separator
-	synfig::TargetParam extract_targetparam() throw (SynfigToolException&);
+	synfig::TargetParam extract_targetparam();
+
+	void print_target_video_codecs_help() const;
+
 private:
 	/// Determine which parameters to show in the canvas info
 	/// canvas-info
@@ -63,6 +72,19 @@ private:
 
 	boost::program_options::variables_map _vm;
 	boost::program_options::options_description _po_visible;
+
+	struct VideoCodec
+	{
+		VideoCodec(const std::string& name_, const std::string& description_)
+			: name(name_), description(description_)
+		{ }
+
+		std::string name, description;
+	};
+	/*! \warning These codecs are linked to the filename extensions for
+	 *  mod_ffmpeg. If you change this you must change the others accordingly.
+	 */
+	std::vector<VideoCodec> _allowed_video_codecs;
 };
 
 #endif // __SYNFIG_OPTIONSPROCESSOR_H
diff --git a/src/tool/printing_functions.cpp b/src/tool/printing_functions.cpp
index 8544a59..6a2924a 100644
--- a/src/tool/printing_functions.cpp
+++ b/src/tool/printing_functions.cpp
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2014 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -41,31 +41,23 @@
 using namespace std;
 using namespace synfig;
 
-void print_usage ()
+void print_usage()
 {
-	cout << "Synfig " << VERSION << endl
-		 << "Usage: " << binary_path.c_str()
-		 << " [options] ([sif file] [specific options])" << endl;
+	std::cout << "Synfig " << VERSION << std::endl
+			  << "Usage: " << SynfigToolGeneralOptions::instance()->get_binary_path()
+			  << " [options] ([sif file] [specific options])" << std::endl;
 }
 
-void print_target_video_codecs_help ()
+void print_child_canvases(const std::string& prefix,
+						  const synfig::Canvas::Handle& canvas)
 {
-	for (int i = 0; allowed_video_codecs[i] != NULL &&
-					allowed_video_codecs_description[i] != NULL; i++)
-		cout << " " << allowed_video_codecs[i] << ":   \t"
-			 << allowed_video_codecs_description[i]
-			 << endl;
-}
-
-void print_child_canvases(const string& prefix, const Canvas::Handle& canvas)
-{
-	const Canvas::Children& children(canvas->children());
-	for (Canvas::Children::const_iterator child_canvas = children.begin();
+	const synfig::Canvas::Children& children(canvas->children());
+	for (synfig::Canvas::Children::const_iterator child_canvas = children.begin();
 		 child_canvas != children.end(); child_canvas++)
 	{
-		cout << prefix.c_str() << ":" << (*child_canvas)->get_id().c_str() << endl;
-		print_child_canvases(prefix + ":" + (*child_canvas)->get_id(),
-							*child_canvas);
+		std::string new_prefix = prefix + ":" + (*child_canvas)->get_id();
+		std::cout << new_prefix << std::endl;
+		print_child_canvases(new_prefix, *child_canvas);
 	}
 }
 
diff --git a/src/tool/printing_functions.h b/src/tool/printing_functions.h
index 641b07d..71e6403 100644
--- a/src/tool/printing_functions.h
+++ b/src/tool/printing_functions.h
@@ -7,7 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
-**	Copyright (c) 2009-2012 Diego Barrios Romero
+**	Copyright (c) 2009-2014 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -25,12 +25,11 @@
 #ifndef __SYNFIG_PRINTING_FUNCTIONS_H
 #define __SYNFIG_PRINTING_FUNCTIONS_H
 
-void print_usage ();
-
-void print_target_video_codecs_help ();
+void print_usage();
 
 /// Print canvases' children IDs in cascade
-void print_child_canvases(const std::string& prefix, const synfig::Canvas::Handle& canvas);
+void print_child_canvases(const std::string& prefix,
+						  const synfig::Canvas::Handle& canvas);
 
 void print_canvas_info(const Job& job);
 
diff --git a/src/tool/progress.h b/src/tool/progress.h
index 6170f2d..b2eafa6 100644
--- a/src/tool/progress.h
+++ b/src/tool/progress.h
@@ -24,10 +24,6 @@
 #ifndef __SYNFIG_PROGRESS_H
 #define __SYNFIG_PROGRESS_H
 
-using namespace std;
-using namespace etl;
-using namespace synfig;
-
 #include <synfig/string.h>
 #include "definitions.h"
 
@@ -40,23 +36,23 @@ public:
 	Progress(const char *name):program(name) { }
 
 	virtual bool
-	task(const String &task)
+	task(const std::string& task)
 	{
-		VERBOSE_OUT(1)<<program<<": "<<task.c_str()<<std::endl;
+		VERBOSE_OUT(1)<<program<<": "<<task<<std::endl;
 		return true;
 	}
 
 	virtual bool
-	error(const String &task)
+	error(const std::string& task)
 	{
-		std::cerr<<program<<": "<<_("error")<<": "<<task.c_str()<<std::endl;
+		std::cerr<<program<<": "<<_("error")<<": "<<task<<std::endl;
 		return true;
 	}
 
 	virtual bool
-	warning(const String &task)
+	warning(const std::string& task)
 	{
-		std::cerr<<program<<": "<<_("warning")<<": "<<task.c_str()<<std::endl;
+		std::cerr<<program<<": "<<_("warning")<<": "<<task<<std::endl;
 		return true;
 	}
 
diff --git a/src/tool/renderprogress.cpp b/src/tool/renderprogress.cpp
new file mode 100644
index 0000000..070f5da
--- /dev/null
+++ b/src/tool/renderprogress.cpp
@@ -0,0 +1,169 @@
+/*!	\file tool/renderprogress.cpp
+**	\brief Implementation of the functions from the render progress class
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2014, 2015 Diego Barrios Romero
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+
+#include <cmath>
+#include <iostream>
+#include "renderprogress.h"
+#include <boost/format.hpp>
+
+RenderProgress::RenderProgress()
+    : last_frame_(0), last_printed_line_length_(0),
+      start_timepoint_(Clock::now()), last_timepoint_(Clock::now())
+{ }
+
+bool RenderProgress::task(const std::string& taskname)
+{
+    taskname_ = taskname;
+    return true;
+}
+
+bool RenderProgress::error(const std::string& task)
+{
+    std::cout << _("error") << ": " << task << std::endl;
+    return true;
+}
+
+bool RenderProgress::warning(const std::string& task)
+{
+    std::cout << _("warning") << ": " << task << std::endl;
+    return true;
+}
+
+bool RenderProgress::amount_complete(int current_frame, int frames_count)
+{
+    if(SynfigToolGeneralOptions::instance()->should_be_quiet())
+    {
+        return true;
+    }
+
+    std::ostringstream outputStream;
+
+    const bool isFinished = (current_frame == frames_count);
+    if (!isFinished)
+    {
+        // avoid reporting the progress too often
+        Duration time_since_last_call(Clock::now() - last_timepoint_);
+        if (time_since_last_call.count() < 0.2)
+        {
+            return true;
+        }
+        last_timepoint_ = Clock::now();
+
+        int percentage_completed = 100;
+        if (frames_count > 0)
+        {
+            percentage_completed = 100 * current_frame / frames_count;
+        }
+
+        outputStream << "\r"
+                     << boost::format(_("%1%: Frame %2% of %3% (%4%%%). Remaining time: "))
+                        % taskname_ % current_frame % frames_count % percentage_completed;
+
+        if (current_frame != last_frame_)
+        {
+            remaining_rendered_proportion_ =
+                double(frames_count-current_frame)/(current_frame-last_frame_);
+        }
+        Duration time_since_start(Clock::now() - start_timepoint_);
+        double remaining_seconds =
+            time_since_start.count() * remaining_rendered_proportion_;
+
+        printRemainingTime(outputStream, remaining_seconds);
+    }
+    else
+    {
+        outputStream << "\r" << taskname_ << ": " << _("DONE");
+    }
+
+    const std::string line = outputStream.str();
+    const std::string extendedLine =
+        extendLineToClearRest(line, last_printed_line_length_);
+    last_printed_line_length_ = line.size();
+
+    std::cerr << extendedLine;
+    if (isFinished)
+    {
+        std::cerr << std::endl;
+    }
+
+    return true;
+}
+
+void RenderProgress::printRemainingTime(std::ostream& os,
+                                        double remaining_seconds) const
+{
+    int weeks, days, hours, minutes, seconds;
+
+    seconds = remaining_seconds;
+
+    minutes = floor(seconds/60);
+    seconds %= 60;
+
+    hours = floor(minutes/60);
+    minutes %= 60;
+
+    days = floor(hours/24);
+    hours %= 24;
+
+    weeks = floor(days/7);
+    days %= 7;
+
+    printRemainingTime(os, seconds, minutes, hours, days, weeks);
+}
+
+void RenderProgress::printRemainingTime(std::ostream& os,
+                                        const int seconds, const int minutes,
+                                        const int hours, const int days,
+                                        const int weeks) const
+{
+    if(weeks != 0)
+    {
+        /// TRANSLATORS This "w" stands for weeks
+        os << weeks << _("w ");
+    }
+    if(days != 0)
+    {
+        /// TRANSLATORS This "d" stands for days
+        os << days << _("d ");
+    }
+    if(hours != 0)
+    {
+        /// TRANSLATORS This "h" stands for hours
+        os << hours << _("h ");
+    }
+    if(minutes != 0)
+    {
+        /// TRANSLATORS This "m" stands for minutes
+        os << minutes << _("m ");
+    }
+    /// TRANSLATORS This "s" stands for seconds
+    os << seconds << _("s ");
+}
+
+std::string RenderProgress::extendLineToClearRest(std::string line,
+                                                  size_t last_line_length) const
+{
+    if (line.size() < last_line_length)
+    {
+        line.append(last_line_length - line.size(), ' ');
+    }
+
+    return line;
+}
diff --git a/src/tool/renderprogress.h b/src/tool/renderprogress.h
index db14165..75c5655 100644
--- a/src/tool/renderprogress.h
+++ b/src/tool/renderprogress.h
@@ -7,6 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
+**  Copyright (c) 2014, 2015 Diego Barrios Romero
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -24,123 +25,46 @@
 #ifndef __SYNFIG_RENDERPROGRESS_H
 #define __SYNFIG_RENDERPROGRESS_H
 
-using namespace std;
-using namespace etl;
-using namespace synfig;
-
-#include <synfig/string.h>
+#include <string>
+#include <iosfwd>
+#include <boost/chrono.hpp>
+#include <synfig/general.h>
 #include "definitions.h"
 
+
+//! Prints the progress and estimated time left to the console
 class RenderProgress : public synfig::ProgressCallback
 {
-	string taskname;
-
-	etl::clock clk;
-	int clk_scanline; // The scanline at which the clock was reset
-	etl::clock clk2;
-
-	float last_time;
 public:
 
-	RenderProgress():clk_scanline(0), last_time(0) { }
-
-	virtual bool
-	task(const String &thetask)
-	{
-		taskname=thetask;
-		return true;
-	}
-
-	virtual bool
-	error(const String &task)
-	{
-		std::cout<<_("error")<<": "<<task.c_str()<<std::endl;
-		return true;
-	}
-
-	virtual bool
-	warning(const String &task)
-	{
-		std::cout<<_("warning")<<": "<<task.c_str()<<std::endl;
-		return true;
-	}
-
-	virtual bool
-	amount_complete(int scanline, int h)
-	{
-		if(be_quiet)return true;
-		if(scanline!=h)
-		{
-			const float time(clk()*(float)(h-scanline)/(float)(scanline-clk_scanline));
-			const float delta(time-last_time);
-
-			int weeks=0,days=0,hours=0,minutes=0,seconds=0;
+    RenderProgress();
 
-			last_time=time;
+    virtual bool task(const std::string& taskname);
 
-			if(clk2()<0.2)
-				return true;
-			clk2.reset();
+    virtual bool error(const std::string& task);
 
-			if(scanline)
-				seconds=(int)time+1;
-			else
-			{
-				//cerr<<"reset"<<endl;
-				clk.reset();
-				clk_scanline=scanline;
-			}
+    virtual bool warning(const std::string& task);
 
-			if(seconds<0)
-			{
-				clk.reset();
-				clk_scanline=scanline;
-				seconds=0;
-			}
-			while(seconds>=60)
-				minutes++,seconds-=60;
-			while(minutes>=60)
-				hours++,minutes-=60;
-			while(hours>=24)
-				days++,hours-=24;
-			while(days>=7)
-				weeks++,days-=7;
+    virtual bool amount_complete(int scanline, int height);
+private:
+    std::string taskname_;
+    int last_frame_;
+    size_t last_printed_line_length_;
 
-			cerr<<taskname.c_str()<<": "<<_("Line")<<" "<<scanline<<_(" of ")<<h<<" -- ";
-			//cerr<<time/(h-clk_scanline)<<" ";
-			/*
-			if(delta>=-time/(h-clk_scanline)  )
-				cerr<<">";
-			*/
-			if(delta>=0 && clk()>4.0 && scanline>clk_scanline+200)
-			{
-				//cerr<<"reset"<<endl;
-				clk.reset();
-				clk_scanline=scanline;
-			}
+    typedef boost::chrono::system_clock Clock;
+    typedef boost::chrono::duration<double> Duration;
+    Clock::time_point start_timepoint_;
+    Clock::time_point last_timepoint_;
+    double remaining_rendered_proportion_;
 
-			if(weeks)
-				/// TRANSLATORS This "w" stands for weeks
-				cerr<<weeks<<_("w ");
-			if(days)
-				/// TRANSLATORS This "d" stands for days
-				cerr<<days<<_("d ");
-			if(hours)
-				/// TRANSLATORS This "h" stands for hours
-				cerr<<hours<<_("h ");
-			if(minutes)
-				/// TRANSLATORS This "m" stands for minutes
-				cerr<<minutes<<_("m ");
-			if(seconds)
-				/// TRANSLATORS This "s" stands for seconds
-				cerr<<seconds<<_("s ");
+    void printRemainingTime(std::ostream& os, double remaining_seconds) const;
 
-			cerr<<"           \r";
-		}
-		else
-			cerr<<taskname.c_str()<<": "<<_("DONE")<<"                        "<<endl;;
-		return true;
-	}
+    void printRemainingTime(std::ostream& os,
+                            const int seconds, const int minutes,
+                            const int hours, const int days,
+                            const int weeks) const;
+    std::string extendLineToClearRest(std::string line,
+                                      size_t last_line_length) const;
 };
 
 #endif
diff --git a/test/Makefile.in b/test/Makefile.in
index 80f8637..ae4fec4 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -87,7 +87,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
+	$(top_srcdir)/m4/ax_boost_chrono.m4 \
+	$(top_srcdir)/m4/ax_boost_filesystem.m4 \
 	$(top_srcdir)/m4/ax_boost_program_options.m4 \
+	$(top_srcdir)/m4/ax_boost_system.m4 \
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
@@ -387,9 +390,12 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BOOST_CHRONO_LIB = @BOOST_CHRONO_LIB@
 BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
 BOOST_LDFLAGS = @BOOST_LDFLAGS@
 BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@
+BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -421,6 +427,10 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GIOMM_CFLAGS = @GIOMM_CFLAGS@
+GIOMM_LIBS = @GIOMM_LIBS@
+GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
+GLIBMM_LIBS = @GLIBMM_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -458,6 +468,7 @@ LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LIBXMLPP_CFLAGS = @LIBXMLPP_CFLAGS@
 LIBXMLPP_LIBS = @LIBXMLPP_LIBS@
+LIBZ_LIBS = @LIBZ_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLDEPS = @LTDLDEPS@
@@ -475,6 +486,8 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MLTPP_CFLAGS = @MLTPP_CFLAGS@
+MLTPP_LIBS = @MLTPP_LIBS@
 MNG_LIBS = @MNG_LIBS@
 MODULE_DIR = @MODULE_DIR@
 MSGFMT = @MSGFMT@

-- 
synfig-synfig packaging



More information about the pkg-multimedia-commits mailing list